본문 바로가기
프로그래밍 놀이터/보안

[도서 정리] 58. 페네트레이션 테스트 - 보안의 기본

by 돼지왕 왕돼지 2019. 12. 7.
반응형

58. 페네트레이션 테스트 - 보안의 기본



* 공격측이 압도적으로 유리한 게임?


-

사이버 보안에 있어 공격측과 방어측 중에서는 공격측이 압도적으로 유리하다고 한다.

그 이유는...


1. 공격측은 크래커끼리 항상 공격 수단이나 툴의 정보 공유를 하고 있는데 방어측은 그렇지 않다.

2. 방어측은 공격자가 어떤 수단으로 공격해 올지를 예측하는 것이 힘들다. 즉, 모든 공격에 견딜 수 있도록 준비해야 한다.

3. 지금까지 알려져 있지 않은 공격을 당하는 경우 방어는 거의 불가능하다.



-

1, 2의 경우 방어측도 적어도 공격자와 똑같은 입장에 설 수 있다.

그러기 위해서는 지금까지 침입에 사용된 알려진 공격 수단에 대한 정보를 수집하여 그것을 자신의 시스템에 시험해 보고 침입에 성공하는지 아닌지를 확인하면 된다.

이것을 페네트레이션 테스트라고 한다.



-

알려진 침입 수단으로 침입에 성공했다면 그 공격에 대해 확실하게 방어를 해 둘 필요가 있다.

이 페네트레이션 테스트는 시스템을 가동시키기 전에 수행한다.





* 페네트레이션 테스트 방법


-

테스트용 툴을 활용한다.

대표적인 툴로는 metasploit, nmap, OWASP ZAP, Burp Suite 가 있다.





* 기타


-

베너 체크: 서비스에 대해 데이터를 보내 서비스가 그에 대해 반환하는 응답의 특징으로부터 해당 서비스의 이름이나 버전 등을 추측하는 경우가 있다. 그중에는 응답에 직접 제품명이나 버전을 반환하는 것도 있다. 제품명이나 버전 정보를 제공하는 것은 그 버전에 의존한 공격을 받을 위험이 늘어나므로 일반적으로 좋지 않다.



-

페네트레이션 테스트는 아래와 같이 진행된다.

1. 네트워크 조사 : 포트 스캔 등을 사용하여 침입할 수 있을 것 같은 포트를 찾아낸다.(nmap)

2. 서비스 조사 : 포트 스캔으로 발견한 가동중인 포트를 경유하여 포트와 연결된 서비스에 대해 보다 자세한 조사를 하여 취약성을 찾는다. (dig, telnet 등에 의한 배너 체크)

3. 공격 : 가동중인 서비스의 버전에 취약성이 있는 경우, 그 취약성을 뚫고 공격한다. (metasploit)




반응형

댓글