■ 입력데이터 검증 및 표현 프로그램 입력 값에 대한 검증 누락 또는 부적절한 검증, 데이터의 잘못된 형식지정, 일관되지 않은 언어셋 사용 등으로 인해 발생되는 보안약점으로 SQL 삽입, 크로스사이트 스크립트(XSS) 등의 공격을 유발할 수 있다. 코드 삽입 ■ 개요 공격자가 소프트웨어의 의도된 동작을 변경하도록 임의 코드를 삽입하여 소프트웨어가 비정상적으로 동작하도록 하는 보안 약점을 말한다. 코드 삽입은 프로그래밍 언어 자체의 기능에 한해 이뤄진다는 점에서 운영체제 명령어 삽입과 다르다. 취약한 프로그램에서 사용자의 입력 값에 코드가 포함되는 것을 허용할 경우, 공격자는 개발자가 의도하지 않은 코드를 실행하여 권한을 탈취하거나 인증 우회, 시스템 명령어 실행 등을 할 수 있다. Python에서 코드 ..
■ 입력데이터 검증 및 표현 프로그램 입력 값에 대한 검증 누락 또는 부적절한 검증, 데이터의 잘못된 형식지정, 일관되지 않은 언어셋 사용 등으로 인해 발생되는 보안약점으로 SQL 삽입, 크로스사이트 스크립트(XSS) 등의 공격을 유발할 수 있다. SQL 삽입 ■ 개요 데이터베이스(DB)와 연동된 웹 응용프로그램에서 입력된 데이터에 대한 유효성 검증을 하지 않을 경우, 공격자가 입력 폼 및 URL 입력란에 SQL 문을 삽입하여 DB로부터 정보를 열람하거나 조작할 수 있는 보안취약점을 말한다. 취약한 웹 응용프로그램에서는 사용자로부터 입력된 값을 검증 없이 넘겨받아 동적쿼리(Dynamic Query)를 생성하기 때문에 개발자가 의도하지 않은 쿼리가 실행되어 정보유출에 악용될 수 있다. Python에서는 데..
공격자의 초점이 지속적으로 애플리케이션 계층을 향해 이동함에 따라 소프트웨어 자원보호가 중요해졌다. 최근 발생되는 인터넷상 공격시도의 약 75%는 소프트웨어보안취약점을 악용하는 것으로, 특히 외부에 공개되어 불특정다수를 대상으로 사용자 정보를 처리하는 웹 애플리케이션의 취약점으로 인해 중요정보가 유출되는 침해사고가 빈번하게 발생되고 있다. 보안강화를 위해 구축해놓은 침입차단시스템과 같은 보안장비로 응용프로그램 취약점에 대한 공격을 완벽히 방어하는 것은 불가능하다. 소프트웨어의 개발보안 미적용으로 제품 출시 때 수정 시 설계 단계보다 30배, 구현 단계 보다 20배가 넘는 수정비용이 필요 한 걸로 조사되었다. 국내의 경우, 2009년부터 전자정부서비스 개발단계에서 소프트웨어 보안약점을 진단하여 제거하는 소..