자동화 기술이 넘쳐나는 시대에 뜻밖의 제안, 수동 취약점 점검

2024-09-06 16:51
  • 카카오톡
  • 네이버 블로그
  • url
자동문과 창문으로 집을 보호한다 하더라도 누군가는 매일 밤 잠들기 전에 그 문들이 제대로 닫혔는지 손으로 두들기며 확인할 필요가 있다. 기계의 오류를 잡아내는 인간의 손길이 필요하다는 건데, 그것은 취약점 점검도 마찬가지다.

[보안뉴스 문정후 기자] 취약점 점검이라는 보안의 기본 실천 사항은 갈수록 중요해지고 있다. 취약점이 많아지고 있기도 하고, 그 취약점을 통해 침투하는 것을 공격자들이 점점 더 능숙하게 구사하기 때문이기도 하다. 그래서 자동화 기술을 동원해 취약점을 점검하고 보완하는 방법들이 확산되고 있는데 조시소프트웨어(Josh Software)는 “그러면서도 수동 취약점 점검도 빼먹지 말아야 한다”고 강조한다.


[이미지 = gettyimagesbank]

취약점 점검은 시스템의 약점을 찾는 것을 기본으로 한다. 하지만 그게 다가 아니다. 찾아지지 않는 것, 즉 보이지 않는 위협으로부터 시스템과 디지털 공간을 안전하게 보호하는 것도 포함한다. “그 중 수동으로 하는 취약점 점검은 매일 밤 잠들기 전 문과 창문이 제대로 잠겨 있는지 확인함으로써 어쩌면 존재할 지도 모르는 집밖의 그 무언가로부터 가족들을 보호하는 것과 비슷하다고 할 수 있습니다. 기계로 찾아낼 수 없는 구멍을 구석구석에서부터 찾는 건데, 사람이 할 때 더 효과적일 때가 많습니다.” 조시 측의 설명이다.

조시에 의하면 수동 취약점 평가는 크게 네 가지로 구성된다.
1) 인증 및 권한 테스트 : 인증 테스트는 승인된 사용자만이 시스템에 접속할 수 있는지, 혹은 그렇지 않은 사람들도 접속 가능한지를 확인한다. 권한 테스트는 접속한 사용자에게 적절한 권한이 부여되는지를 검증한다. 조시소프트웨어는 다음과 같이 예를 든다. “비밀번호가 강력한지 혹은 얼마나 약한지를 보는 건 인증 테스트입니다. 하지만 그 비밀번호를 통해 로그인에 성공한 후 무엇을 할 수 있느냐를 보는 건 권한 테스트입니다.”

그러면서 조시는 인증과 관련하여 다음 몇 가지를 권고한다. “비밀번호는 적당히 길어야 하고, 여러 가지 문자와 숫자를 섞어 복잡하게 만드는 게 좋습니다. 되도록 다중인증 시스템까지 도입하는 게 안전하고, 생체 인증 기술을 구축하면 훨씬 더 편리하고도 단단해집니다. 생성된 비밀번호는 안전하게 보관해야 하고 오오스(OAuth) 등 중앙에서 관리할 수 있는 인증 시스템을 더불어 사용하는 것도 큰 도움이 됩니다.”

권한을 적절히 배분하기 위해서라면 “역할과 임무, 속성에 기반하여 각 사람의 권한을 평가하고, 평가한 그대로 부여해야 한다”고 조시는 강조한다. “꼭 필요한 만큼만 권한을 주는 걸 원칙으로 삼아야 합니다. 최소 권한의 원칙이라고 합니다. 이게 말은 쉬운데 현장에서 적용되는 사례를 찾기가 대단히 힘듭니다. 또한 접근 시도를 제어하고, 그 기록을 남기며, 기록된 것을 정기적으로 검토하는 것도 루틴으로 삼는 게 좋습니다.”

2) 비밀번호 관리 : 사용자가 비밀번호를 저장하고 관리하는 최적의 접근 방식을 따르도록 하는 지침들을 마련해 전파하는 것까지를 말한다. 그렇게 함으로써 정상적인 권한을 가지고 있지 않은 사람이 시스템과 네트워크에 접근하는 것을 막는 것을 목표로 한다. 약한 비밀번호는 가장 흔한 취약점이므로, 이 역시 취약점 테스트에 포함될 수 있다.

“비밀번호를 뚫어내는 방법 중 가장 흔한 것이 무차별 대입 공격입니다. 사용자 계정 이름을 알면, 로그인 창에서 계속해서 새 비밀번호를 대입하는 것을 말하죠. 맞을 때까지 모든 비밀번호의 조합을 만들어 대입해 뚫어냅니다. 미련한 것 같지만 기계로 자동화 해서 실행할 수 있어서 무섭습니다. 이를 막으려면 로그인 시도 횟수를 제한해야 합니다. 예를 들어 다섯 번 이상 연속해서 틀리면 한 동안 접속 시도를 할 수 없게 하는 것이죠. 또한 비밀번호를 저장할 때 쿠키나 API 응답에서 표시되지 않도록 설정하는 것도 빼먹지 말아야 합니다.”

3) 세션 관리 : 과거의 세션 쿠키를 공격자가 재사용하는 데 성공한다면, 공격자는 과거 그 쿠키를 생성한 정상 사용자의 권한을 그대로 가지고, 그 사용자처럼 접속할 수 있게 된다. “쿠키 재사용을 불가능하게 하려면 먼저 세션 식별자를 강력하고 고유하게 설정해야 합니다. 그런 후 HttpOnly나 Secure 플래그를 설정해 둔 후, 세션 타임 아웃도 새롭게 지정해서 일정 시간이 지나면 세션이 저절로 닫히고 쿠키가 사라지게 만들어야 합니다. 그러면 설사 공격자가 쿠키에 손을 댔다고 하더라도 이용할 수가 없게 됩니다.”

4) SQL 주입 : SQL 주입 취약점은 앱 데이터베이스에서 실행되는 쿼리를 조작할 수 있게 해 주는 것으로, 웹 애플리케이션에서 가장 흔히 나타나면서도 대단히 위험한 취약점이다. “매개변수화 된 쿼리를 사용하도록 하고, 사용자가 입력하는 값을 보다 꼼꼼하게 확인하고 검증하는 절차를 수립해야 합니다. 사용자가 뭘 입력할지 예측할 수 없기 때문에, 입력할 수 있는 것을 아예 처음부터 제한해야 하지요. 동시에 데이터베이스에 대한 접근 권한을 최소한의 사람들에게만 부여하는 것도 좋은 방법입니다. 아무나 접근할 수 없게 만든다면 사용자 입력 값을 제대로 검증하지 않더라도 공격자가 할 수 있는 일이 상당 부분 사라집니다.”

5) 교차 사이트 스크립팅(XSS) : 공격자가 웹 페이지나 앱에 악성 코드를 삽입함으로써, 그 페이지를 열거나 앱을 실행시키기 위해 피해자가 사용하는 브라우저를 통해 악성 코드가 발동되도록 하는 게 XSS 공격이다. “이 또한 사용자 입력값을 정책적으로 제한함으로써 피해를 줄일 수 있습니다. 매개변수화 된 URL과 코드를 사용하는 것도 공격을 방지하는 데 도움이 됩니다. 콘텐츠 보안 정책(CSP) 헤더를 구축하고, 신뢰할 수 없는 데이터의 경우 더 이상 사용하지 말며, 인라인 자바스크립트는 피해야 합니다.”

6) URL 조작 : URL 조작 테스트는 웹 애플리케이션이 URL 조작 공격에 얼마나 노출되어 있는지를 파악하는 것으로, 무단 접근, 데이터 유출, 그 외 여러 보안 문제를 사전에 막기 위해 실시한다. 여기에는 여러 가지 유형의 테스트가 존재하는데, 이를 정리하자면 다음과 같다.
- 경로 탐색(path traversal) : URL 경로를 다른 것으로 바꿈으로써 다른 디렉토리에 접근한다.
- 매개변수 변조(parameter tampering) : URL의 매개변수를 수정하여 애플리케이션이 비정상적으로 작동하게 만든다.
- 디렉토리 목록화(directory enumeration) : 숨겨진 디렉토리를 찾는 데 도움이 된다.
- 불안전 디렉토리 객체 참조(IDOR) : URL에서 식별자를 조작하여 접근이 허용되지 않은 자원에 접근한다.
- 강제 브라우징(forceful browsing) : URL을 직접 입력함으로써 피해자의 브라우저가 악성 페이지에 접근하도록 한다.
- URL 우회 접속 : URL 매개변수나 URL 그 자체를 조작하여 다른 곳으로 접속하게 유도한다.
- URL 매개변수를 통한 SQL 주입 : 말 그대로 URL 매개변수에 SQL 명령을 삽입하는 것이다.
- XSS : URL 매개변수에 SQL 주입 명령을 삽입하는 것이다.
- 세션 ID 조작 : URL에 포함되어 있는 세션 ID를 조작하여 세션 탈취 공격을 감행한다.
- 파일 업로드 테스트 : 파일 업로드 매개변수를 조작하여 업로드를 제한하거나 악성 파일을 업로드한다.

“현재로서 수동 취약점 점검을 통해 반드시 찾고 고쳐야 하는 건 그 무엇보다 사용자들이 입력하는 값을 처리하는 기능입니다. 여기에서 이상이 생기면 큰일이 발생하고, 실제 입력값 확인 제대로 못하는 사이트나 앱이 수두룩 합니다. 너무 당연한 거라 오히려 간과되는 느낌입니다.” 그 다음으로 중요한 건 최소 권한의 법칙이라고 조시는 강조한다. “대부분 회사에서는 모든 직원들이 필요 이상으로 높은 권한을 가지고 있습니다. 없어져야 할 관습입니다.”

조시는 “코드를 세밀하게 검토하고, 입력 값을 검증하고, 인증 메커니즘을 철저히 분석할 때 수동으로 테스트를 진행하는 게 중요하다”고 강조하며 “자동 기술로 하면 놓칠 만한 것들을 찾아낼 수 있게 된다”고 귀띔한다. “위험을 효과적으로 완화할 수 있게 됩니다. 따라서 이를 정기적으로 수행하면 조직 전체를 보다 탄탄하게 만들 수 있게 될 겁니다.”

3줄 요약
1. 자동화 기술이 많아지고 있지만 손으로 해결해야 하는 일도 있음.
2. 일부 취약점 검사는 수동으로 진행할 때 더 효과적이 됨.
3. 수동 점검을 주기적으로 실천하면 조직이 더 탄탄해짐.

[국제부 문정후 기자(globoan@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>

헤드라인 뉴스

TOP 뉴스

이전 스크랩하기


과월호 eBook List 정기구독 신청하기

    • 이노뎁

    • 인콘

    • 엔텍디바이스코리아

    • 마이크로시스템

    • 다봄씨엔에스

    • 아이디스

    • 씨프로

    • 웹게이트

    • 씨게이트

    • 하이크비전

    • 한화비전

    • ZKTeco

    • 비엔에스테크

    • 비엔비상사

    • 원우이엔지
      줌카메라

    • 지인테크

    • 인텔리빅스

    • 이화트론

    • 다누시스

    • 테크스피어

    • 렉스젠

    • 슈프리마

    • 혜성테크윈

    • 시큐인포

    • 미래정보기술(주)

    • 비전정보통신

    • 다후아테크놀로지코리아

    • 경인씨엔에스

    • 지오멕스소프트

    • 성현시스템

    • 한국씨텍

    • 프로브디지털

    • 디비시스

    • 유니뷰코리아

    • 스피어AX

    • 투윈스컴

    • 세연테크

    • 트루엔

    • 위트콘

    • 유에치디프로

    • 주식회사 에스카

    • 포엠아이텍

    • 세렉스

    • 안랩

    • 제이슨

    • 에스지에이솔루션즈

    • 이롭

    • 샌즈랩

    • 쿼리시스템즈

    • 신우테크
      팬틸드 / 하우징

    • 에프에스네트워크

    • 네이즈

    • 케이제이테크

    • 셀링스시스템

    • 에이티앤넷

    • 아이엔아이

    • (주)일산정밀

    • 새눈

    • 에스에스티랩

    • 유투에스알

    • 태정이엔지

    • 네티마시스템

    • HGS KOREA

    • 에이앤티코리아

    • 미래시그널

    • 두레옵트로닉스

    • 지와이네트웍스

    • 넥스트림

    • 에이앤티글로벌

    • 현대틸스
      팬틸트 / 카메라

    • 지에스티엔지니어링
      게이트 / 스피드게이트

    • 동양유니텍

    • 모스타

    • 엔에스정보통신

    • 구네보코리아주식회사

    • 엘림광통신

    • 엔시드

    • 넥스텝

    • 메트로게이트
      시큐리티 게이트

    • 포커스에이치앤에스

    • 티에스아이솔루션

    • 엠스톤

    • 글로넥스

    • 유진시스템코리아

    • 카티스

    • 세환엠에스(주)

Copyright thebn Co., Ltd. All Rights Reserved.

MENU

회원가입

Passwordless 설정

PC버전

닫기