• 카테고리

    질문 & 답변
  • 세부 분야

    보안

  • 해결 여부

    해결됨

sql injection이 왜 위협적인 공격인지 궁금합니다.

22.12.28 22:40 작성 조회수 226

2

sql injection이 성공한다면 매우 위협적이라는 것은 알고 있으나 강의 내용을 수강하고 나서 든 생각은 매우 간단한 조치(prepared statement + 길이제한 + white List)만으로도 취약점 분석 단계에서 막혀버리는 공격인데 왜 owasp top 10에 들어갈 정도로 위협적인 공격으로 평가되고 있는지 궁금합니다.

답변 1

답변을 작성해보세요.

2

안녕하세요. 답변이 늦어서 죄송합니다.

조치가 간단하다고 해서 취약점 발생 확률이 낮아지는건 아닙니다.

개발 단계에서 제한된 일정 내에 기능 설계와 구현을 우선적으로 하며, 보안에 대한 부분은 후순위가 됩니다. 개발 시 사이트에 따라 구현할 기능들이 천차만별이며, 대규모 사이트의 경우 구현해야 될 기능들이 정말 많습니다. 그 결과, 한 사이트 내 수백개 혹은 수천개의 사용자 입력 값을 받기도 합니다. 그리고 기능에 따라, Prepared 적용 불가하여 다른 방법으로 보안 검증 로직을 구현한다고 해도 우회적 방법을 통해 보안 허점이 발생되거나, 길이 제한을 하였으나 예기치 못한 방법들로 취약점 연계가 되는 경우, 그 외에도 다양한 경우들이 많이 있습니다.

그리고 기업들은 제한된 일정 내 기능 구현을 해야 되기 때문에 자연스레 보안적 요소들은 배제되거나, 개발자의 실수가 있는 경우가 상당히 많습니다.

이런 과정에서 보안 허점이 발생될 확률은 매우 높아지며, 이러한 보안 허점을 찾는 사람들은 보이지 않는 블라인드 환경에서 수백, 수천개의 입력 값을 통해서 취약점을 찾아내는 것이 진단자들의 역할입니다.

확실히 오늘날의 웹 환경에서는 SQL 인젝션 발생 확률이 많이 줄어들고 있습니다. 때문에 누군가는 이제 SQL 인젝션이 없고 이제 안나오는 취약점이라고 하는 사람들도 있지만, 이러한 말은 10년 전부터 나오던 말이였습니다. 그런데 누군가는 여전히 취약점을 잘찾아내고 있습니다. 즉, 여전히 취약점은 존재하고 있다는 것 입니다. 그 결과가 OWASP TOP 10이죠.