SW약점(24)
-
정보보안이 소프트웨어에 주목하는 이유
소프트웨어에 주목 이유(왜 소프트웨어인가?) · 소프트웨어는 암호, 접근제어, 프로토콜 만큼이나 중요합니다. · 실제로 모든 정보보안은 소프트웨어에서 구현됩니다. · 만약 소프트웨어가 공격받기 쉽다면 보안도 쉽게 뚫리게 됩니다.(암호알고리즘, 접근제어, 프로토콜등이 강력한 것과는 무관합니다.)
-
보안 소프트웨어
보안 소프트웨어 소프트웨어 공학에서는 프로그램이 의도한 행위을 수행한다는 것을 보장하도록 노력 보안 소프트웨어 공학에서는 의도한 행위을 수행하고 그 이외에는 수행하지 않도록 요구 절대적으로 보안적인 소프트웨어는 불가능 절대적인 보안도 거의 불가능 위기를 어떻게 관리할 수 있을 것인가가 중요 프로그램 결함은 의도하지 않은 것이 대부분이며 보안적 위험를 발생시킵니다. 주요 결함 3개 항목 다른 많은 결함들이 발생할 수 있지만 가장 일반적인 3가지 결함 항목입니다. 버퍼 오버플로우(스택 파괴) 불완전 중재 경주 상황
-
프로그램 결함
프로그램 결함 오류(error)는 프로그램을 오동작 하게 합니다. 오류는 부정확한 상태를 야기합니다. -> 결점(fault) 결점은 프로그램 내부로 한정됨 결점은 실패(failure)를 야기하며 이로 인하여 시스템은 예상된 동작으로부터 멀어져 부정확한 동작을 수행하게 됩니다. 실패는 외부에서 관찰됨 프로그램 결함 예 단계설명1프로그램은 오류를 가지고 있습니다.2오류는 결점을 야기합니다. (내부적으로)3부정확한 내부 상태를 야기합니다.4만약, 결점이 발생하면 이는 실패를 야기할 수도 있습니다.5프로그램은 부정확한 동작을 수행하게 됩니다.(외부적으로)이렇게 오류에서 야기되어 실패이어지는 일련의 용어들을 결함(flaw)으로 일반화 할 수 있습니다. char array[10]; for(i = 0; i < 10;..
-
소프트웨어 보안 이슈
소프트 웨어 보안 이슈 공격자 vs 정상 사용자 공격자정상 사용자 능동적으로 버그와 결함을 찾음 나쁜 소프트웨어를 갈구 잘못된 동작 발생을 유도하기 위해 노력 나쁜 소프트웨어를 통하여 시스템을 공격버그와 결함을 사고로부터 발견 나쁜 소프트웨어를 경시하지만, 공존하는 방법을 배워야 합니다. 나쁜 소프트웨어도 운영하여야 합니다. 프로그램 결함 (비의도적) vs 악의적 소프트웨어 (의도적) 프로그램 결함 (비의도적)악의적 소프트웨어 (의도적)버퍼 오버플로우 불완전 중재 경주 상황바이러스 웜 트로이목마 멀웨어의 변종들
-
Software 복잡도와 보안
Software 복잡도 "복잡도는 보안의 적이다", Paul Kocher, Cryptography Research, Inc. 현재 새로 개발되는 자동차는 아폴로 우주선을 달에 착륙시키는데 필요한 것보다 더 많은 LOC(Line Of Code)를 가지고 있습니다. Paul Kocher, President and chief scientist, Cryptography Research, Inc 시스템 별 LOC(Line Of Code) 시스템코드 라인수(LOC)윈도우XP40,000,000넷스케이프17,000,000우주왕복선10,000,000보잉7777,000,000리눅스1,500,000 코드와 버그 라인 수 일반적 예측5 버그/1000 LOC수학적 관찰일반적인 컴퓨터의 경우 100K 크기 실행파일당 3,000개..
-
시큐어 코딩 관련 용어정의
동적 SQL(Dynamic SQL) 프로그램의 조건에 따라 SQL문이 달라지며 프로그램 실행 시점에 전체 쿼리문이 만들어져서 데이터베이스에 요청하는 SQL 쿼리문 형태 샌드박스(Sandbox) 기법 어린이가 다치는 것을 방지하기 위해 만든 모래박스(Sandbox)에서 유래 JAVA가 지원하는 기본 보안 모델로 외부에서 받은 프로그램을 JVM(Java Virtual Machine)이라는 보호된 영역 안에 격리시킨 뒤 동작시키는 방법으로 프로그램이 폭주하거나 악성 바이러스의 침투를 막을 수 있습니다. 서블릿(Servlet) 자바 서블릿은 자바를 사용하여 웹페이지를 동적으로 생성하는 서버 측 프로그램 혹은 그 사양 소프트웨어 개발보안 소프트웨어 개발과정에서 개발자 실수, 논리적 오류 등으로 인한 소프트웨어에 ..