ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [쉽게 만본인는 IT] SQL 인젝션 공격으로부터 살아남는 법 대박이네
    카테고리 없음 2020. 2. 28. 05:31

    본격적으로 SQL 인젝션을 소개하려면 이미 SQL(Structured Query Language)이 무엇인지 보도록 하겠습니다. SQL이란 데이터베이스(DB)를 작성하고 유지하는 데 사용하는 프로그래밍 언어 중 하과인입니다. 구문이 비교적 간단하고 도입 비용이 저렴하며 프로그래머들에게 가장 유명한 도구 중 하나입니다. 이는 웹사이트를 해킹할 기회를 노리는 해커들에게 잘 알려져 있다는 뜻이기도 합니다. 실제로 SQL 인젝션은 네이버에 "가장 비번으로 일본어 과인은 웹 해킹 공격"이라고 기재할 정도로 많이 생성되는 유형의 공격입니다. 실제로 펜타 보안 20일 9 3Q EDB분석 보고서에 따르면 웹 엑스프로이토타이프 중의 SQL인젝션(23%)은 Cross Site Scripting공격(27%)다음으로 많은 비중을 차지했습니다.​


    >


    SQL 인젝션이란? SQL 인젝션은 데이터베이스(DB)와 연동된 웹 어플리케이션에서 입력된 데이터에 대한 유효성을 검증하지 않기 때문에 발생하는 취약점이다. 취약점이 밝혀진 애플리케이션은 사용자로부터 입력된 값을 필터링 과정 없이 취득하여 쿼리*를 생성합니다. 이에 의해서 개발자가 고려하지 않는 1종의 명령문이 생성되어 정보, 유 츄루에 악용될 수 있습니다. 심각하면 DB를 통째로 탈취당할 수 있어 주의해야 할 약점이다. * 쿼리 : 데이터베이스에 정보를 요청할 것. 컴퓨터 언어로 요청하는 형태의 쿼리가 1반 적.(출처: 위키백과) SQL 인젝션 공격에서 살아남은 비결 SQL 인젝션 공격에서 살아남기 위해서는 이 공격이 어떻게 발생하는지 구체적인 원인과 형태를 살펴볼 필요가 있습니다. SQL 인젝션 공격은 기술에 따라 종류가 다양하나, 그 중에서도 대표적인 공격 유형으로 에러 베이스 공격과 블라인드 공격이 있습니다.에러 베이스 공격(Error-Based Attacks) 에러 베이스 공격은 해커가 검사하지 않은 입력 값을 발견하고 이를 악용하는 공격 타입이다. 검사된 데이터는 입력 값 중 불필요한 부분을 제거하기 때문에 문제 없습니다. 해커는 약점을 이용해 악의적인 정보를 입력하고 오류를 유발시켜 정보를 탈취하는 것이다.블라인드 공격(Blind Attacks) 블라인드 공격은 에러 베이스 공격으로부터 진화한 공격 형태이다. 다른 SQL 인젝션 공격과 달리 악의적인 입력값을 넣는 것이 아니라 참과 거짓을 구별할 수 있는 쿼리를 입력하여 정보를 얻습니다. 즉 DB서버에서 에러 메시지가 표시되지 않는 경우, 입력 값이 정말 1경우 정상적인 페이지가 보이며 거짓 1경우 화면이 표시되지 않음을 이용함이 블라인드 SQL인젝션이다.전술한 바와 같이 SQL 인젝션은 위험·공격 형태이다. 우리 웹사이트를 안전하게 지키려면 이 공격에 대응할 수 있는 비결이 필요해요. 가장 최근에 그 비결을 소개합니다.웹 방화벽(WAF) 웹 방화벽은 해커들의 비정상적인 접근에 대응해 잠재적 웹 공격으로부터 보호하는 보안 솔루션이다. 웹사이트를 노리는 악성 HTTPS를 분석 탐지하여 취약점이 외부로 유출되지 않도록 보완합니다. 국제 웹 보안을 주도하고 있는 비영리 단체 OWSP(Open Web Application Security Project)는 웹사이트 또는 웹 애플리케이션을 보호하기 위해서는 WAF 도입이 가장 좋은 비결의 하과라고 설명하고 있습니다.계정 권한 최소화 DB 안의 데이터를 암호화하는 것은 당연한 과정이다. 데이터 암호화와는 별도로 암호화의 비결과 암호화된 데이터에 접근할 수 있는 권한을 관리하는 것이 필요합니다. DB 전체를 한꺼번에 암호화하면 누군가 하과인의 권한으로 전체에 접근할 수 있다는 뜻이다. 반면 DB를 부분 암호화하면 필요에 따라 접근 권한을 부여하고 관리함으로써 전체 데이터가 한꺼번에 위험에 노출되는 것을 방지할 수 있습니다.이 밖에 한국인터넷진흥원 인터넷침해대응센터(KrCERT)에서도 SQL 인젝션의 공격 대응책으로 개발 단계부터 모든 입력값에 적절한 검증 절차를 설계하고 구현할 것, DB 오류 메시지를 사용자에게 보이지 않도록 차단할 것, 웹 보안 취약점에 대해 정기적으로 연구할 것 등을 제시했습니다.출처 : 대규모 SQL 인젝션 공격으로 국내 웹사이트를 무작위 해킹, 보안뉴스


    >



    댓글

Designed by Tistory.