Post

프로그래밍 언어 활용 - 서버 프로그램 구현

보안 취약성 식별

보안 취약성 (Vulnerability)

정보시스템에 불법적인 사용자의 접근, 정상적인 서비스 방해, 정보시스템에서 관리하는 중요 데이터의 유출/변조/삭제에 대한 위협

위협이 발생하기 위한 사전 조건으로 응용 프로그램의 보안 취약점, 위협 요소, 허점을 탐지하는데 도움을 줌

침투 테스트 (Penetration Test)

시스템을 안전하게 만들기 위해 전문 해커가 공격자보다 먼저 시스템 취약점을 찾기 위한 방법

■ 침투 테스트 절차

정찰 → 탐색 → 접근 권한 취득 → 액세스 유지 → 추적 방지

취약성 공격

악성 코드, 악성 프로그램 등을 이용하여 보안 버그나 잘못된 설정 등의 결함에 대한 공격

정보를 빼내거나 다른 용도로 악용하기 위한 공격

■ 취약성에 따른 공격 기법

익스플로잇 (Exploit)

  • 버그, 보안 취약점 등 설계상 결함을 이용하여 의도된 동작을 수행하도록 만드는 공격

서비스 거부 (DoS)

  • 무의미한 서비스 요청을 반복적으로 해 특정 시스템의 가용자원을 소모시켜 서비스를 못하도록 만드는 공격

버퍼 오버플로우

  • 메모리의 범위를 넓게해서 반환 주소를 변경시키고, 임의의 프로그램이나 함수를 실행시키는 해킹

정보 수집

  • 공격 전 서버/시스템의 취약점,네트워크 경로, 방화벽 설치 유무를 알아내고 정보를 수집하는 공격

권한 상승

  • 악성 프로그램을 설치해서 루트 권한을 획득하는 공격 (데이터 조회/변경/삭제 등을 하기 위해)

SQL 삽입(Injection)

  • 입력 폼 및 URL 입력란에 SQL문을 삽입하여 DB로부터 정보를 가져오는 공격

크로스 사이트 스크립팅 (XSS)

  • 악성 스크립트를 작성/삽입하여 사용자가 악성 스크립트가 삽입된 웹에 접속하면 사용자의 쿠키 정보, 개인정보를 가져가는 공격
  • 스팸 문자 (URL 클릭하면 정보 빼가는)

사이트 간 요청 위조 공격 (CSRF)

  • 웹 사이트 취약점을 공격
  • 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격

디렉터리 접근

  • HTTP 기반의 공격
  • 액세스가 제한된 디렉터리에 접근

API (Application Programming Interface)

  • 명확하게 정의된 다양한 컴포넌트 간의 통신 방법
  • API를 통해 프로그래머가 특정 기술을 사용하기 쉽게 만들어 줌

■ WEB API

  • 다른 서비스에 요청을 보내고 응답을 받기 위해 정의된 API
  • XML, JSON, SOAP, REST

■ OPEN API

  • 웹 프로토콜(HTTP)로 호출해 사용할 수 있게 개방한 API
This post is licensed under CC BY 4.0 by the author.