728x90
반응형
개념: 주어진 프로그램을 자동으로 분석하여 취약점을 찾아내는 기술을 통칭
툴: 공개형 퍼저(fuzzer)인 AFL
-
1990년대 초반 Barton P. Miller 교수가 발표한 논문 <An Empirical Study of the Reliability of UNIX Utilities> 에서 처음 Fuzzing이라는 용어가 사용된 이후, 퍼징은 소프트웨어의 보안 취약점을 찾기 위한 방법으로 널리 사용되고 있음
-
퍼징이란 문법적(Syntaticallly)또는 의미적(Semantically)으로 비정상적인 입력값을 생성해 프로그램에 주입하여 작동시키는 과정을 반복하는 것으로, 익스플로잇 생성이나 모의 침투 분야에서 널리 활용되고 있다. 2016년 DARPA CGC 대회에 참여한 다수의 팀들도 퍼징을 활용했다.
-
이러한 이유로 이제는 보안을 강화하는 목적으로도 퍼징을 활용하고 있는데, 공격자들이 해킹을 수행하기 이전에 먼저 개발단계에서부터 퍼징을 통해 취약점을 찾아 보완하는 것이다. 실제로 Adobe, Cisco, Google, Microsoft가 SDL 활동의 일환으로 퍼징을 수행하고 있으며 보안 감사 활동이나 오픈소스 생태계에서도 퍼징이 널리 전파되고 있다.
AI 퍼징의 정의
AI 퍼징(AI fuzzing)은 애플리케이션이나 시스템의 취약점을 찾는 데 머신러닝과 유사한 기술을 사용한다. 퍼징(Fuzzing)은 잠시 주목받은 적이 있었지만, 이를 실행하기는 너무 어려워 기업들이 많이 도입하지 못했다. 하지만 AI를 추가하면 사용하기가 쉽고 유연성이 향상된다.
그동안 해왔던 단순한 퍼징만으로는 깊이 숨어있는 취약점을 찾아내기가 어려웠고, 이를 개선하기 위해서 ‘배움’을 도입하는 시도가 나타난 것입니다. 그 대표주자로는 2006년에 블랙햇에서 발표된 Sidewinder가 있습니다. 여기서부터 진화(evolution)라는 표현이 퍼징에 등장하기 시작했고, 그 뒤로는 기존의 ‘단순 무식한’ 형태의 퍼저와 진화된 퍼저를 구분하기 위해 스마트퍼저(smart fuzzer), 그레이박스 퍼저(grey-box fuzzer) 등의 다양한 이름이 등장하죠.
[유형] 블랙박스, 화이트박스, 그리고 그레이박스 퍼징
1) 블랙박스 퍼징:
프로그램에서 얻을 수 있는 정보의 추상화 정도가 더욱 심화된 것으로 이해할 수 있습니다. 블랙박스 퍼징에서 관찰할 수 있는 프로그램의 입출력 정보는, 프로그램이 정상 동작을 한다 또는 하지 않는다를 판별할 수 있는 추상화된 정보일 뿐이죠.
강화학습(Reinforcement Learning)을 적용해 봅시다. 강화학습 분야에서 매우 유명한 멀티암드 밴딧(Multi-armed Bandit) 문제는 ‘슬롯머신이 N개 주어져 있을 때, N개의 손잡이를 어떤 전략적 순서와 방식으로 당겨야만 최고의 이득을 얻을 수 있는지’를 알아내는 인공지능 문제입니다. 여기서 슬롯머신을 프로그램이라 생각하면, N개의 프로그램에서 주어진 시간 동안 최대한의 취약점을 찾아내는 것이 목표가 되겠죠. 이것은 N개의 프로그램이 아니라 N개의 시드, N개의 다른 환경 등 다양한 테스팅 시나리오에 적용 가능합니다. 실제 블랙박스 퍼징에 멀티암드 밴딧 알고리즘을 적용한 사례가 2013년도 CCS 학술대회에 최초 발표됐고, 그 이후로 수많은 기술이 연구되고 있습니다.
2) 화이트박스 퍼징
3) 그레이박스 퍼징:
전통적인 화이트박스 퍼징과는 달리 프로그램으로부터 최소한의 정보만을 효율적으로 얻어내고자 노력합니다. 예를 들어, 화이트박스에서는 변수에 들어올 수 있는 값의 범위를 알아내고자 한다면, 그레이박스에서는 해당 변수를 포함하는 함수가 실행되는지 여부를 판별하는 것이죠. 바꿔 말하면, 그레이박스는 화이트박스보다 더욱 추상화된 정보를 활용하는 것뿐입니다.
728x90
'03.Security' 카테고리의 다른 글
해킹 (Hacking) - MS 익스체인지 서버 취약점 악용 (0) | 2023.07.13 |
---|---|
해킹 (Hacking) - log4j (0) | 2023.07.13 |
해킹 (Hacking) (0) | 2023.07.13 |
정보보안 - 보안관제, 침해사고 대응 - SOAR (Security Orchestration, Automation and Response) (0) | 2023.07.13 |
정보보안 - 보안관제, 침해사고 대응 (0) | 2023.07.13 |