프로그래밍 언어 활용 - 서버 프로그램 구현
보안 취약성 식별
보안 취약성 (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.