-
Brute Force AttackSecurity in CPS/CyberAttack 2021. 1. 17. 12:11
[정의]
브루트 포스 공격이란 타인의 계정 로그인을 위한 비밀번호를 알기 위해 수행하는 공격으로 모든 가능한 단어나 문자의 조합을 이용해 로그인을 시도하는 공격입니다. 사용가능한 모든 문자의 조합을 만들어서 시도하는 방법으로 시간이 많이 소요되는 공격이지만, 시간이 무한정 허락한다면 결국에는 비밀번호를 찾아 낼수 있는 공격입니다. 문자들을 조합해 비밀번호를 알아내는 이 방법은 허용되는 문자의 형태나 비밀번호 길이에 따라 가능한 조합의 수는 무한정 커지게 됩니다. 따라서, Dictionary Attack 과 같은 방법을 이용해 경우의 수를 줄여서 공격을 수행하는 경우가 많습니다.
Dictionary Attack 은 통계/역사적으로 사용자들이 많이 사용하는 비밀번호들을 나열한 문자열의 리스트를 이용해 로그인을 시도하는 공격입니다. 적게는 1000 개에서 많게는 수천/수만개의 예상 문자들을 가지고 로그인을 시도하게 됩니다.
[공격 툴]
Burp Suit
[대비방법]
로그인 실패시 Response 메세지를 일정 시간 Delay (e.g, 2초 또는 Random) 이후에 보내는 방법이 있습니다. 브루트 포스 공격의 경우 서버로 부터 응답이 늦어지게 되면 공격을 수행하는 시간 또한 기하 급수적으로 증가하기 때문에 공격에 대한 대비가 가능해 집니다.
또는, 일정 횟수 이상으로 로그인 실패가 발생하면 일정 시간동안 (e.g., 15 초) 로그인을 못하도록 임시적으로 계정을 블록 할 수도 있을 것입니다. 다만 이 방법의 경우 공격자가 의도적으로 잘못된 비밀번호를 가지고 타인의 계정에 대한 로그인을 시도하여 웹서비스를 사용하지 못하게 막는 공격에 이용될 수도 있습니다.
'Security in CPS > CyberAttack' 카테고리의 다른 글
[OpenVas] Default Account (0) 2021.06.28 SQL Injection (aka SQLi) Attack (0) 2021.01.17 Promiscuous mode in Network Interface Card (NIC) (0) 2019.06.16 스니핑(Sniffing), 스누핑(Snooping), 스푸핑(Spoofing) (0) 2019.06.15 Treat Model : STRIDE (0) 2019.05.31