위지원의 데이터 일기 🐈
Home
  • 분류 전체보기 (563)
    • ✎ 2025년 (4)
    • 2024년 (16)
    • 2023년 (6)
    • 2022년 (35)
      • Developement (22)
      • Error (9)
    • 2021년 (68)
      • ERROR (9)
      • 알고리즘 (11)
      • 개발공부 (21)
      • Data (15)
      • 21.下 (12)
    • 2020년 (164)
      • 코테 (84)
      • Development (29)
      • 정처기 (41)
    • 2019년 (27)
    • 2018년 (89)
      • English Speaking (8)
      • Error (12)
      • C, Java, FileSystem (13)
      • DataBase (15)
      • Java (2)
      • 지식 (16)
      • Go (3)
      • spark (9)
      • 영어 (5)
      • 알고리즘 (6)
    • 2017년 (143)
      • Error (17)
      • machine learning (16)
      • Spark (20)
      • Database (19)
      • Python (17)
      • Spring (9)
      • etc. (10)
      • 백준 (5)
      • Google Platform (12)
      • web Development (7)
      • Docker (3)
      • Linux (8)
Home
  • 분류 전체보기 (563)
    • ✎ 2025년 (4)
    • 2024년 (16)
    • 2023년 (6)
    • 2022년 (35)
      • Developement (22)
      • Error (9)
    • 2021년 (68)
      • ERROR (9)
      • 알고리즘 (11)
      • 개발공부 (21)
      • Data (15)
      • 21.下 (12)
    • 2020년 (164)
      • 코테 (84)
      • Development (29)
      • 정처기 (41)
    • 2019년 (27)
    • 2018년 (89)
      • English Speaking (8)
      • Error (12)
      • C, Java, FileSystem (13)
      • DataBase (15)
      • Java (2)
      • 지식 (16)
      • Go (3)
      • spark (9)
      • 영어 (5)
      • 알고리즘 (6)
    • 2017년 (143)
      • Error (17)
      • machine learning (16)
      • Spark (20)
      • Database (19)
      • Python (17)
      • Spring (9)
      • etc. (10)
      • 백준 (5)
      • Google Platform (12)
      • web Development (7)
      • Docker (3)
      • Linux (8)
블로그 내 검색
포트폴리오

위지원의 데이터 일기 🐈

데이터를 사랑하고 궁금해하는 기록쟁이입니다! 😉 Super Data Girl이 되는 그날까지🏃‍♀️ 화이팅!

  • 🖥 깃블로그
  • 🌍 위키원
  • 📑 내맘대로 스크랩
  • 💌 메일
  • 2020년/정처기

    [2020 정보처리기사 실기]Section 09.소프트웨어 개발 보안 구축 #3

    2020. 5. 5. 22:00

    by. 위지원

    이전글

    2020/05/05 - [2020년도 상반기/정처기] - [2020 정보처리기사 실기] Section 09.소프트웨어 개발 보안 구축 #2

    시간 및 상태

    병렬 처리 시스템이나 멀티 프로세스에서 시간과 실행상태를 관리하며 시간 및 상태를 점검하지 않은 코딩이 유발하는 보안 약점은 다음과 같이 2가지가 있음

     

    TOCTOU( Time of Check to Time of Use )경쟁 조건

    검사시점과 사용시점을 고려하지 않고 코딩하는 경우

    • 검사 시점에 사용가능했던 데이터가 사용시점에 사용 불가능한 경우에 발생
    • 프로세스가 가진 자원 정보와 실제 자원상태가 일치 하지 않는 경우 동기화 오류, 교착상태등 발생
    • 코드 내에 동기화 구문을 사용해 자원에 한 프로세스만 접근토록
    • 동기화는 성능감소를 일으키므로 필수적인 부분에만 필요

     

    종료되지 않는 반복문 또는 재귀함수

    종료조건을 정의하지 않거나 논리 구조상 종류될 수 없는 경우

    • 종료되지 않아서 끊임없이 자원을 사용해 자원고갈로 시스템이 정지 및 종료됨
    • 수행횟수 제한 설정추가, 종료조건 점검, 호출의 종료 여부 확인

     

     

    에러처리

    에러처리 미비로 인한 코딩이 유발하는 보안약점은 아래와 같이 3가지가 있음

     

    오류 메시지를 통한 정보 노출

    오류 발생으로 중요 정보를 메시지로 외부에 노출

    • 예외의 이름이나 스택트레이스를 출력하면 해커가 내부구조를 파악하기 쉬워짐
    • 오류 발생 시 가능한 한 내부에서만 처리되도록 하거나, 최소한의 정보/사전에 준비된 메시지만 출력되도록해 방지

     

    오류 상황 대응 부재

    예외처리를 안했거나 미비한경우

    • 예외처리 구문 작성하고 제어문을 활용하여 코딩하여 방지

     

    부적절한 예외처리

    함수의 반환값 또는 오류들을 광범위하게 묶어 한번에 처리하거나 누락된 예외가 존재

    • 모든 함수의 반환값이 의도대로 출력되는지 확인하고 세분화된 예외처리를 수행하여 방지

     

     

    코드 오류

    널 포인터 역참조:null pointer가 가르키는 메모리에 어떠한 값을 저장할 때

    • 많은 라이브러리 함수들이 오류가 발생할 경우 널값을 반환, 이 반환 값을 포인터로 참조하는 경우
    • 대부분의 운영체제에서 널 포인터는 메모리의 첫 주소를 가르킴, 해당 주소를 참조할 경우 소프트웨어가 비정상 종료
    • 널 값을 갖고있는지 사전에 검사해 방지
    • "메모리 0x00000000을 참조하였습니다" 라는 메시지가 뜸

     

    부적절한 자원 해제

    • 자원 반환 코드를 누락하거나 프로그램 오류로 할당된 자원을 반환하지 못했을 때
    • Heap Memory, Socket 등의 유한한 시스템 자원이 계속 점유하고 있으면 자원부족으로 새로운 입력 처리 불가능
    • 자원 반환 코드 누락여부 확인, 오류시 예외처리에 관계없이 자원 반환되도록 코딩하여 방지

     

    해제된 자원 사용

    • 반환된 메모리를 참조하는 경우 예상하지 못한 값 또는 코드를 수행하게 되어 의도치 않는 결과 반환
    • 접근할 수 없도록 주소 저장하고 있는 포인터를 초기화

     

    초기화되지 않은 변수 사용

    • 해당 메모리에 이전에 사용하던 내용이 남아 외부에 노출될 수 있음
    • 초기화하면 댐

     

    다음글

    2020/05/05 - [2020년도 상반기/정처기] - [2020 정보처리기사 실기]Section 09.소프트웨어 개발 보안 구축 #4

     

     

    저작자표시

    '2020년 > 정처기' 카테고리의 다른 글

    [2020 정보처리기사 실기] Section 10. 응용 SW 기초 기술 활용(1/4)  (0) 2020.05.07
    [2020 정보처리기사 실기]Section 09.소프트웨어 개발 보안 구축 #4  (0) 2020.05.05
    [2020 정보처리기사 실기] Section 09.소프트웨어 개발 보안 구축 #2  (1) 2020.05.05
    [2020 정보처기기사 실기] Section 09. 소프트웨어 개발 보안 구축 #1  (0) 2020.05.05
    [2020 정보처리기사 실기]Section 08.SQL응용(사용자 정의 함수, 커서)  (0) 2020.04.29

    잠깐만요~! 읽으신김에 이런 글들은 어떠세요? 👀

    • [2020 정보처리기사 실기] Section 10. 응용 SW 기초 기술 활용(1/4) 2020.05.07
    • [2020 정보처리기사 실기]Section 09.소프트웨어 개발 보안 구축 #4 2020.05.05
    • [2020 정보처리기사 실기] Section 09.소프트웨어 개발 보안 구축 #2 2020.05.05
    • [2020 정보처기기사 실기] Section 09. 소프트웨어 개발 보안 구축 #1 2020.05.05
    맨 위로
전체 글 보기
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

열정! 열정! 열정! 🔥

Designed by Nana
블로그 이미지
위지원
데이터 엔지니어로 근무 중에 있으며 데이터와 관련된 일을 모두 좋아합니다!. 특히 ETL 부분에 관심이 가장 크며 데이터를 빛이나게 가공하는 일을 좋아한답니다 ✨

티스토리툴바

티스토리툴바