JI-DUM
  • 용어사전
  • 아이리포
  • 아이리포카페
  • 데지덤
    • 데이터베이스 개념
      • 데이터베이스 개념
        • DBMS
        • DBS
        • DBMS발전단계
        • 데이터베이스개념
        • 데이터
        • 유일성
      • DBMS
        • 데이터독립성
        • 데이터사전, 카탈로그
        • 객체지향 DBMS
        • 관계형DBMS
        • 객체관계DBMS
      • 데이터베이스 개발과운영
        • 데이터베이스 분석,설계,구축 프로세스
        • 클러스터링 테이블
    • 데이터베이스 설계(1/2)
      • 데이터표준
        • 데이터, 정보, 지식, 지혜
        • 릴레이션, 도메인, 튜플
      • 데이터모델링
        • 기본키
        • 데이터모델링 개념
        • 엔터티
        • 속성
        • 관계
        • 식별자
        • 개념적 데이터모델링
        • 논리적 데이터모델링
        • 물리적 데이터모델링
    • 데이터베이스 설계(2/2)
      • 프로세스 및 상관모델링
        • 업무기능분해와 CRUD 매트릭스
      • 정규화
        • 정규화개요
        • 함수종속성
        • 이상현상
        • 1차 정규화
        • 2차 정규화
        • 3차 정규화
        • 보이스코드 정규화
        • 4차 정규화
        • 5차 정규화
      • 반(역)정규화
        • 반정규화개요
      • DB물리설계
        • DB 물리설계
        • 무결성제약의 조건
    • 인덱싱과 DB프로그래밍
      • 인덱스와 해싱
        • B+Tree
        • B-Tree
        • T Tree구조
        • R Tree구조
        • 인덱스(Index)
        • 해싱개요
      • 관계연산
        • 외부조인 & 세미조인
        • Nested,Sort,Hash 조인
        • 관계대수
      • DB언어
        • 데이터언어
      • SQL
        • SQL:1999/2003
        • SQL 문장의 유형들
        • SQL-집합, 서브쿼리, 아우터
        • Embedded SQL
        • Dynamic SQL
        • SQL 부분범위처리
        • SQL Full table scan
        • SQL실행계획
    • 데이터베이스 운영
      • 트랜잭션
        • 트랜잭션
        • 2pc
        • ACID
        • ACID vs BASE
      • 데이터베이스 복구
        • 장애와 회복기법
      • 데이터베이스 성능
        • 데이터베이스 접근과정
        • 데이터베이스 성능튜닝
        • 데이터베이스 접근
      • 병행제어(동시성제어)
        • 동시성제어개요
        • 잠금(Lock)
        • 2PL
        • Deadlock
        • 낙관적제어(Validation)
        • Isolation Level
    • 분석계 및 빅데이터기술
      • 빅데이터기술
        • NoSQL
        • No-SQL 데이터모델링
    • 데이터베이스 종류와 보안
      • 데이터베이스 종류
        • 멀티미디어DB
        • 분산 데이터베이스
        • XML 데이터베이스
        • 공간 데이터베이스
        • 메모리 데이터베이스
        • 임베디드 데이터베이스
        • 다중레벨 데이터베이스
        • 이동객체 데이터베이스
        • 모바일 데이터베이스
  • 소지덤
    • 소프트웨어
      • 소프트웨어
        • ISO25000, SQUARE
        • ISO/IEC 12207
        • Good S/W인증
        • CMMi
        • PSP/TSP
        • ITSM
        • ITIL
        • 객체지향
        • 모듈화, 결합도/응집도
        • 3R
        • UML
        • SW 아키텍처
        • 품질보증
        • Peer Review
        • 형상관리
        • SW 신뢰성과 가용성
        • SW 유지보수
        • SOA
        • OOP 5대원칙
        • AOP 웹공학
        • SW Metrics
        • 코딩
        • 코딩오류, 코드스멜, 리팩토링
        • SWEBOK
        • 스프링프레임웍
        • SW비주얼라이제이션
  • 네지덤
    • 네트워크
      • 네트워크
        • NFC
        • 홈네트워크 미들웨어
        • 성능향상 WLAN 표준
        • CAN(Controller Area Network)
        • WPAN
        • 망중립성
        • 통신망
        • WAVE
        • DWDM
        • Femtocell
        • 세션계층
        • 차량통신(V2X: Vehicle to Everything)
        • 6LoWPAN
        • SDR
        • 데이터링크 계층
        • 저전력광역무선망(LPWAN)
        • VLAN
        • 스마트안테나
        • 통신모델
        • XMPP
        • CIDR
        • 5G (IMT2020)
        • 아날로그/디지털 신호
        • 사물통신(사물인터넷, IoT: Internet of Things)
        • CSMA/CA
        • HSPA+
        • 통신이론
        • FBMC(Filter Bank Multi Carrier)
        • 변조 (Modulation)
        • LTE
        • TRS
        • NOMA(Non Orthogonal Multiple Access)
        • NFV(Network Function Virtualization)
        • TCP/IP 흐름제어
        • CoIP
        • 오버레이네트워크
        • SDN(Software Defined Network)
        • 응용통신
        • BCN
        • VPN
        • LTE-A(Advanced)
        • 재난통신
        • 인터네트워킹
        • Ad-hoc
        • QoS
        • GSM/CDMA
        • LIN(Local Interconnect Network)
        • SON
        • 홈네트워크
        • WiFi(WLAN)
        • IVN(In Vehicle Network)
        • WLAN
        • MVNO
        • TCP/IP
        • DSRC
        • TDMA, FDMA, CDMA
        • NFV
        • 전송계층
        • NB-IoT(NarrowBand)
        • IPv4/IPv6
        • CR
        • 물리계층
        • 소물통신(IoST: Internet of Small Things)
        • NAT
        • MIMO
        • 다중화/다중접속
        • CoAP
        • IP Multicast
        • LTE-A
        • 통신기술
        • MEC(Mobile Edge Cloud)
        • CSMA/CD
        • HSDPA
        • USB3.0
        • 이동무선백홀
        • 오류정정기법 FEC, BEC
        • 4세대 이동통신
        • M2M 외
        • C-RAN(Cloud Radio Access Network)
        • OpenFlow
        • VoIP
        • P2P
        • 네트워크 슬라이싱(Network Slicing)
        • LTE기반 국가재난안전무선통신망(PS-LTE)
        • TCP / IP
        • USN
        • Tunneling
        • LTE(Long Term Evolution)
        • ITS/C-ITS
        • 계층별 네트워크 프로토콜
        • RFID
        • FTTH
        • 이동통신
        • FlexRay
        • WBAN
        • ISM
        • 기본통신
        • V2V
        • 회선교환 vs 패킷교환
        • FMC, FMS
        • 어플리케이션계층
        • V2I(Vehicle to Infrastructure)
        • TDM, FDM, WDM
        • SDN
        • 네트워크계층
        • LoRa(Long Range)
        • DHCP
        • OFDM
        • OSI 7 Layer
        • LwM2M
        • DNS
        • Wibro
        • 변조/복조
        • MQTT
        • 라우팅 프로토콜
        • HSUPA
        • 통신원리
        • IBFD(In Band Full Duplex)
        • 네트워크 부호화
        • WCDMA
        • IEEE1394
        • Massive-MIMO
        • 양자통신
        • TCP/IP 혼잡제어
        • Mobile IP
        • 웹가속기
        • NFV(Network Function Visiulation)
        • SDN(Software Defined Network)
        • 소프트스위치
        • CDN
        • 5G/IMT-2020
        • 국가재난안전통신망
        • 계층별 장비
        • 무선매쉬네트워크
        • NMS
        • 4G
        • MOST
        • OSI 7 Layer
      • 네트워크 기출문제
        • 네트워크 감리사 기출문제[2/2]
        • 네트워크 기술사 기출문제[2/2]
        • 네트워크 감리사 기출문제[1/2]
        • 네트워크 기술사 기출문제[1/2]
  • 컴지덤
    • 컴퓨터 구조
      • 컴퓨터 구조
        • VTL
        • 멀티코어
        • 프로세스 성능향상
        • 병렬컴퓨터
        • 길더의 법칙(Guilder's Law)
        • 무어의 법칙
        • 안드로이드 (Android)
        • Fault Tolerant, High Availability
        • Network Storage
        • CPU 성능평가 (HW용량산정)
        • CISC & RISC
        • 폰 노이만형 아키텍처, 하버드 아키텍처
        • 암달의 법칙 (Amdal's Law)
        • JVM ,GC
        • 차세대 저장장치
        • 반도체 기억장치
        • 파이프라인 해저드 (Pipeline Hazard)
        • 명령어
        • 파레토의 법칙
        • 멧칼프의 법칙 (Metcalfe’s Law)
        • 가상화
  • 경지덤
    • IT경영
      • IT경영
        • IT 거버넌스
        • ISO 38500
        • COBIT
        • IT 경영전략
        • SEM
        • VBM
        • 가상기업
        • 전략수립도구
        • EA
        • EAP
        • EA 참조 모델
        • ISP/ISMP
        • 전자정부표준프레임웍
        • 정보기술아키텍처 성숙도 모델 v3.1
        • ERP
        • GSI
        • ALM
        • APM
        • EAI
        • B2Bi
        • ITSM
        • ISO20000
        • ILM
        • ITAM
        • SAM
        • ITO
        • BPO
        • Offshoring Outsourcing
        • EO
        • MDM
        • MRO
        • ECM
        • RTE
        • BPM
        • Social BPM
        • BRE
        • BAM
        • CRM
        • CEM
        • EIP
        • X-Commerce
        • IT투자분석
        • BSC
        • SLA, SLM, SOW
        • BCM, BPC, DRS
        • DRS
        • SCM
        • PLM
        • CIM
        • MES
        • IT Compliance
        • 바젤, 사베인즈 옥슬리
        • 그린 IT
        • 그린 IT 인덱스
        • TRIZ
        • Cobit 5.0
        • 산업혁신 3.0
        • Open Innovation
  • 관지덤
    • 프로젝트관리
      • 프로젝트관리 개요
        • 조직관리론
        • 프로젝트 관리 개요
        • 프로그램관리, 포트폴리오관리
        • PMO
        • PM
        • 프로젝트 생애주기와 조직
        • 프로젝트 관리 프로세스
      • 프로젝트관리 영역
        • 프로젝트 통합관리
        • 프로젝트 범위관리
        • 프로젝트 일정관리
        • CPM
        • CCM
        • 프로젝트 원가관리
        • 프로젝트 품질관리
        • 프로젝트 인적자원 관리
        • 프로젝트 의사소통 관리
        • 프로젝트 위험관리
        • 프로젝트 조달관리
      • 프로젝트관리 기출문제
        • 프로젝트관리 감리사 기출문제[1/4]
        • 프로젝트관리 감리사 기출문제[2/4]
        • 프로젝트관리 감리사 기출문제[3/4]
        • 프로젝트관리 감리사 기출문제[4/4]
        • 프로젝트관리 기술사 기출문제
  • 테지덤
    • 테스트
      • 테스트개요
        • TDD
        • SW 테스트의 개요
        • V-Diagram
        • SW 테스트의 유형
        • SW 테스트 프로세스
      • 프로젝트 단계별 테스트
        • 통합테스트
        • 성능테스트 – Little’s law 포함
        • 단위 테스트
        • 기능테스트 / 비기능테스트
        • 시스템테스트
        • 인수테스트
      • 다양한 테스트 유형
        • Black Box Text & White Box Test
        • 경험기반 테스트
        • 리스크 기반 테스트
        • 유스케이스 테스트
        • 경계값 분석(Boundary Value Analysis)
        • 조건커버리지(Condition Coverage)
        • 구조기반 테스트 – 테스트커버리지
        • Mutation Test(비버깅)
        • 유지보수 테스트
        • 조합테스트
        • 상태전이테스트
        • 등가분할 테스트(Equivalence Partitioning)
        • 결정 커버리지(Decision Coverage)
        • 탐색적 테스팅
        • 확인/리그레션테스트
        • 분류트리기법테스트
        • 결정테이블테스트
        • 명세기반 테스트(Specification-based)
        • 구문커버리지
      • 테스트지원
        • Peer Review
        • Cyclomatic Complexity(McCabe)
        • 리뷰
        • Record & Replay
        • 정적기법
        • 테스트케이스(Test Case)
      • 테스트인증평가
        • TPI
        • TMMi
        • TMM(Test Maturity Model)
      • SW오류종류 및 기타
        • 테스트오라클
        • 퍼지 테스트
        • 테스트 주요용어 정리
        • 퍼즈 테스팅(Fuzz Testing)
        • 글로벌화 테스트
        • 소프트웨어 오류
        • 크라우드테스트
        • Sanity Test
        • 임베디드 테스트
  • 돈지덤
    • 비용산정
      • 비용산정
        • COCOMO2
        • Function Point 절차 및 규칙 상세 2-2
        • SW사업대가 산정법
        • COCOMO
        • Function Point 절차 및 규칙 상세 2-1
        • Function Point 문제풀이
        • Function Point(ISO/IEC 14143) 개요
  • 분지덤
    • 분석
      • 분석
        • DW모델링
        • Mobile Web 2.0
        • 기계학습(Machine Learning)
        • EDW
        • SOAP
        • 전문가시스템 (Expert System)
        • REST
        • 트롤리 딜레마
        • AJAX
        • 인공지능 개념
        • Map/Reduce
        • 웹서버 부하분산
        • NoSQL
        • RDF
        • DW 어플라이언스
        • 퍼지
        • 프로세스마이닝
        • WebOS
        • Apriori 알고리즘
        • 데이터마이닝-신경망
        • XQuery
        • 몬테카를로 트리 서치 (Monte Carlo Tree Search)
        • 데이터마이닝-연관규칙(Association)
        • XML Schema
        • KNN (K Near Neighborhood)
        • OLAP
        • HyWAI
        • 로지스틱 회귀분석(Logistic Regression Analysis)
        • ETT
        • Web2.0
        • 유사도측정-유클리디안거리, 코사인유사도, 마할라노비스거리, 자카드계수
        • 데이터웨어하우스(DW)
        • SOA
        • 킬 스위치
        • JSON
        • 튜링 테스트
        • Advanced Analytics
        • Node.js
        • 몽고 DB
        • SPARQL
        • 하둡
        • Ontology
        • 웹마이닝
        • 프로덕션시스템
        • 지지도/신뢰도/향상도
        • DOM/SAX
        • 연관분석
        • 기억기반추론(MBR)
        • XLL
        • 은닉마르코프모델(HMM, Hidden Marcov Model)
        • 데이터마이닝-클러스터 탐지
        • DTD
        • 의사결정트리(Decision Tree)
        • BI, Bi2.0
        • WOA
        • 회귀분석(Regression Analysis)
        • ODS
        • UDDI
        • 추천엔진 (Recommendation Engine)
        • 웹서비스
        • 아실로마 인공지능 원칙
        • ESB
        • 인공지능 역사
        • HDFS
        • 웹스토리지
        • 카산드라
        • Agent
        • 빅데이터
        • Semantic Web
        • 텍스트마이닝
        • 인공지능
        • 앙상블학습
        • 데이터마이닝-분류
        • XRX
        • 군집화 K-means
        • 데이터마이닝-연속규칙
        • XPATH
        • 베이즈 정리
        • 데이터마이닝의 개요와 절차
        • XML
        • 서포트 벡터 머신(Support Vector Machine)
  • 시지덤
    • 보안
      • 보안
        • IAM
        • 생체인식
        • 빅데이터 보안
        • OTP
        • 무선랜보안
        • SIEM
        • 세션 하이재킹
        • Secure Coding
        • XSS
        • IDS
        • APT 공격
        • DOI, INDECS
        • DRM
        • 사회공학
        • PMI
        • EAM
        • 접근통제
        • 유비쿼터스 보안
        • VPN(IPSec, MPLS, SSL)
        • 스마트그리드 보안
        • ESM
        • Forensic
        • Secure OS
        • OWASP
        • Firewall
        • DDOS
        • Watermarking
        • CC
        • 데이터베이스 보안
        • PKI
        • SSO
        • AAA
        • RFID 보안
        • 암호화(DES, SEED, ARIA 등)
        • 클라우드 컴퓨팅 보안
        • Secure SDLC
        • SQL Injection
        • IPS
        • 해킹
        • 관리적보안, 물리적보안, 기술적보안
        • SET
        • MPEG21
        • ISO27001
        • 개인정보보호법
  • 오지덤
    • 운영체제
      • 운영체제
        • System Call
        • Disk Scheduling
        • Memory Mapped IO, I/O Mapped I/O
        • Thrashing
        • 메모리 관리기법
        • Banker’s 알고리즘
        • Race Condition
        • 프로세스, 쓰레드
        • 유닉스 파일시스템
        • 가상메모리
        • 메모리 인터리빙
        • Locality
        • 우선순위 역전
        • 세마포어, 뮤텍스
        • 인터럽트
        • 모노리틱 커널, 마이크로 커널
        • 버디메모리 할당
        • RAID
        • DMA (Cycle Stealing)
        • Cache Memory
        • 단편화
        • CPU Scheduling
        • 교착상태(Deadlock)
        • Context Switching
        • 운영체제
  • 컨지덤
    • IT컨설팅
      • IT컨설팅
        • Value Proposition
        • McKinsey’s 7S’ model
        • 시장 세분화
        • 시나리오 기법(Scenario Planning)
        • 3C분석
        • TRL
        • 특허
        • Logic Tree
        • Matrix 분석 기법
        • 기술 수용 주기 분석-Chasm, 경쟁 포지셔닝 나침반
        • 벤치마킹
        • 제품개발의 손익분기점 분석(BEP)
        • 마이클포터의 5 Forces 분석
        • SWOT분석
        • PI
        • 정보기술 적용가능성분석
        • TRIZ
        • 게임 이론-동시적 게임의 손익행렬,전략적 게임보드
        • 포트폴리오 관리기법-BCG Growth/Share Matrix
        • Porter의 경쟁 전략
        • Value Chain
        • 사업의 경제성 분석
        • 거시환경분석
        • 가트너하이퍼사이클
        • 상표권
        • MECE/LISS
        • 6 Sigma
  • 유지덤
    • UML/DF
      • UML
        • UML의 개요
        • 객체지향
        • 다형성
        • 추상클래스
        • 인터페이스
        • UML
        • UML 2.0
        • UML의 확장
        • 4+1 view
        • UML 다이아그램
        • Use Case 다이아그램 – 요구사항부터 구현까지
        • Sequence 다이아그램
        • Class 다이아그램
        • 액티비티 다이어그램
        • State Machine 다이어그램
        • 클래스와 자바코드
        • OCL (Object Constraint Language)
      • DF
        • 디자인패턴의 개요
        • 상속과 위임
        • Abstract Factory Pattern
        • Factory Method Pattern
        • Prototype Pattern
        • Adapter Pattern
        • Bridge Pattern
        • Composite Pattern
        • Decorator Pattern
        • Facade Pattern
        • Fly Weight Pattern
        • Chain of Responsibility Pattern
        • Command Pattern
        • Interpreter Pattern
        • Iterator Pattern
        • Mediator Pattern
        • Memento Pattern
        • Observer Pattern
        • State Pattern
        • Strategy Pattern
        • Template Method Pattern
        • Visitor Pattern
        • 헷갈리는 디자인패턴 간단한 구분
        • 프레임워크, 디자인패턴, 아키텍처 스타일의 비교
        • POSA(GoF 디자인패턴외)
        • J2EE
  • 알지덤
    • 알고리즘
      • 자료구조
        • 스택
        • 트리 (Tree)
        • 자료구조
        • 연결 리스트 (Linked List)
        • 그래프
      • 알고리즘
        • 철학자들의 만찬
        • 문자열 탐색
        • 순차 탐색 (Sequential Search)
        • 힙 정렬 (Heap Sort)
        • 삽입 정렬 (Insert Sort)
        • 백트래킹 알고리즘
        • 최단 경로 탐색 알고리즘
        • 해시 탐색 (Hash Search)
        • 계수 정렬 (Counting Sort)
        • 합병 정렬 (Merge Sort)
        • 선택 정렬 (Selection Sort)
        • 알고리즘
        • 논리회로
        • 최소신장트리 알고리즘
        • 이진 탐색 (Binary Search)
        • 기수 정렬 (Radix Sort)
        • 퀵 정렬 (Quick Sort)
        • 버블 정렬 (Bubble Sort)
  • 신지덤
    • 신기술
      • 신기술
        • OVF
        • SIEM
        • FMEA
        • FDS
        • 하이퍼바이저
        • 잊혀질 권리
        • 소셜러닝
        • 미라이 봇 넷
        • S/W대가산정가이드-2013
        • 압축표준(MPEC-H)
        • SoC, SoB, SiP
        • 초연결사회
        • Bluetooth 5.0
        • Open API
        • AMI
        • CKAN
        • e-Pub
        • 마이그레이션
        • 오픈소스(라이선스 비교)
        • 스미싱
        • PaaS-TA(파스타)
        • 창조경제와 IT
        • 빌딩로보틱스
        • HW용량산정
        • 에너지하베스팅
        • NFC (Near Field Communication)
        • ITS
        • 플럽드 러닝
        • LOD (Linked Open Data)
        • Contents 2.0
        • CASB (Cloud Access Security Broker)
        • 증강인간/인지증강
        • 가시광통신
        • 오픈스택
        • 웹접근성 법제화
        • FEMS
        • ISO 29119
        • Phishing
        • Beacon
        • 양자컴퓨터
        • HTML 5
        • Smart Work
        • 클라우드 DR
        • 증강현실 (Augmented Reality)
        • Telematics
        • IoT 표준화 현황 및 추진전략
        • 튤립버블, 알트코인
        • SDN
        • BIM
        • Dublin core
        • 사이버 망명
        • SW기능 안정성
        • IPCC
        • 소셜 CRM
        • 린 스타트업
        • 스마트그리드
        • O2O(Online to Offline) 서비스
        • FMEA
        • LAS
        • 4차산업혁명 보안
        • 서비스 동향 및 사회적 이슈
        • 썬더볼트 2
        • ESS
        • 2D 바코드(2D Barcord)
        • 데이터 사이언티스트
        • AUTOSAR
        • EMS (Enterprise Mobile Solution)
        • 카파 아키텍쳐
        • SNS
        • 스낵컬처
        • CKAN
        • IMS
        • 표준화
        • 드론 플랫폼
        • TSM
        • 에너지 그리드
        • 메타버스
        • NOSQL
        • ISO26262
        • EMR, HL7, PACS, DICOM
        • 전력절감 컴퓨팅 기술
        • 파티셔닝
        • 문서중앙화
        • 스마트 워치
        • 탈중심웹 (Decentralized Web)
        • ENUM
        • CPS(Cyber Physical System) 활용분야 및 최적화 전략
        • 드론 보안
        • NBA
        • 하둡 3.0
        • Streaming DBMS
        • 에너지관리
        • 제니비 연합
        • 스턱스넷
        • 정보보안 거버넌스 표준 ISO27014:2013
        • 디지털교과서
        • 스파크
        • 린 6 시그마
        • BaaS
        • 스마트팩토리
        • Tactile Internet
        • Wifi P2P WIFI Direct
        • 하둡에코 (sqoop)
        • SW 가시화
        • 자율주행 자동차 - V2X
        • IPv6보안
        • FTL
        • HDFS 2.0
        • Ubiquitous Computing
        • 아이디어 플랫폼
        • 디지털 홀로그램
        • ISO 26262
        • 보안 MCU
        • 레그테크
        • MEAP
        • 하둡에코 (Spark)
        • 557(금융권)
        • LKAS
        • 지능형서비스로봇(URC)
        • KWCAG 2.0
        • Hadoop 2.0
        • RTSP
        • 핀테크
        • 가상현실
        • 오픈스택
        • 빅데이터 보안
        • DMBok
        • 디지털 큐레이션
        • 하둡에코 (Chukwa),CPS(Cyber Physical System) [SAC]
        • 망분리(지침과 금융권이슈)
        • 자율주행 5대서비스,10대부품
        • iOS (아이폰 OS)
        • MMT
        • Wear Leveling
        • RFID
        • 운영감리
        • 증강현실 (Augmented Reality)
        • 감성 ICT 기술 및 산업동향
        • 도커(Docker) [이컨엘엔허]
        • SWEBOK
        • 소셜 TV
        • IoT 보안 가이드라인
        • 분리/분할발주 법령내용
        • HEVC(MPEC-H Part2)
        • User Interface
        • MPEG
        • 블루본
        • OSGi
        • IoT보안
        • FTA
        • VDI
        • 가상화 (Type1/2, 대상)
        • 오픈소스 도입 전략 및 이슈
        • 비싱
        • 하둡에코 (YARN)
        • PMO-기준(법령)
        • MPEC-UD (User Description)
        • OLED
        • 가트너 10대기술
        • Bluetooth 4.0
        • NUI
        • ESS
        • CKAN, DKAN, OGPL, Socrata, Junar
        • e-Discovery
        • 클라우드테스트
        • 오픈소스(오픈소스 도입 전략 및 이슈)
        • 카산드라 DB
        • Open Cloud Foundry vs Open Shift(PaaS)
        • CKAN
        • 의무화 동향
        • 그린인덱스
        • GRC
        • RFID
        • IPTV 보안
        • MOOC
        • 탈중심웹 (Decentralized Web)
        • 재난통신
        • SECaaS(Security As A Service)
        • VR VS AR
        • UMB
        • 개방형 IoT 플랫폼 (모비우스 기반)
        • 반응형 웹(CSS3, 미디어쿼리)
        • CEMS
        • ISO 26000
        • 개인정보 익명화
        • WPAN (Wireless Personal Area Network)
        • SDX(SDN,SCDC,SDS,SDR)
        • 린 6 시그마
        • 스마트 카드
        • 모바일클라우드보안
        • 증강현실 (Augmented Reality)
        • M2M
        • IoT 플랫폼
        • 안티 드론
        • Wearable Computer(구글glass)
        • 무선충전기술
        • 3D TV
        • 사이버 상조
        • 자동차 사이버 보안 위협
        • IoT (Internet of Things)
        • 하둡2.0, 하둡에코
        • 그로스 해킹(코호트:(cohort)
        • 마이크로 블로그
        • 오픈소스 하드웨어
        • FTA
        • IP-USN
        • 4차 산업혁명 [디생물]
        • 블록체인 기반의 가상화폐
        • 모바일 가상화
        • 스마트 미터링
        • ARC (Augmented Reality Continuum)
        • 빅데이터 큐레이션
        • ASIL
        • emergent EA
        • 람다아키텍쳐
        • SNG
        • 디지털 발자국
        • 오픈데이터 플랫폼
        • GPS
        • 제조업 혁신 3.0
        • 드론 정책
        • gTLD
        • 스마트 (파워)그리드
        • 증강현실(AR)
        • 컬럼기반 DB
        • MirrorLink: CCC
        • u-Health
        • CCN
        • 샤딩
        • 모바일 오피스, 스마트 오피스
        • 샌드박스
        • WebRTC
        • DMB
        • CPS(Cyber Physical System) 핵심기술
        • AI 스피커
        • SDP
        • 하둡에코 (Pig)
        • 악성코드패턴
        • C-ITS
        • 내부통제
        • CISO
        • 디지털 홀로그래픽
        • 마이핀
        • 린 UI/UX
        • ISO 61508
        • IoT 보안 인증제
        • 제로UI
        • 데이터 압축기법
        • 하둡에코 (Kafka)
        • Anonymous
        • 자율주행 자동차 - WAVE
        • DAP/LDAP
        • 해커톤
        • HDFS
        • SVC
        • SW BMT
        • HCI
        • AUTOSAR
        • 미라이 봇 넷
        • 리걸테크(Legaltech)
        • RCS
        • 하둡에코 (Flume)
        • 영상기기보안
        • 자동차 자율주행 - ADAS
        • OSS (Open Source Software)
        • HTTP 적응적 스트리밍
        • 빅데이터기술상세 Map/Reduce
        • RTLS
        • 매그니튜드 익스플로잇 킷
        • 가상현실
        • 그로쓰해킹
        • 도커(Docker) 아키텍처
        • REBok
        • 아키텍쳐 비즈니스 사이클
        • 스마트팩토리
        • 취약점 발견자 현상금
        • 자율주행
        • 안드로이드 아키텍처
        • HEVC
        • SSD
        • PACS
        • 분할발주
        • Hazop
        • 스트레처블 디스플레이 기술
        • LXC (LinuX Container)
        • 디지털소멸
        • 소셜커머스
        • 보안 MCU
        • SP인증
        • MMT(MPEC-H Part1)
        • User eXperience
        • Node.js
        • ZING
        • SOAP
        • CSB
        • 초연결 사회, 데이터 거래소, Data 브로커
        • GRID Computing
        • 인티크레이션
        • 오픈소스(오픈소스화)
        • 큐싱
        • 하둡에코
        • BYOD(CYOD, BYON)
        • 압축표준(MPEG-21)
        • ODF vs OOXML
        • ISMS
        • Zigbee
        • N-Screen
        • WAVE
        • 오픈데이터 플랫폼
        • e-Book
        • 클라우드 개발방법론
        • BCI
        • 무선전력전송기술
        • 오픈스택 동향
        • 정부 3.0
        • HEMS
        • 그린네트워킹
        • Parming
        • 비콘 플랫폼 (beacon platform)
        • IPTV, Mobile IPTV
        • 지능형 메모리 반도체(PIM)
        • WebRTC
        • 인포그래픽스
        • DRaaS
        • HMD (Head Mounted Display)
        • TPEG
        • 모비우스(Mobius)
        • LTE-A(광대역과 비교)
        • BEMS
        • ISO 26262
        • 인터넷 윤리
        • ISO 61508
        • MEMS
        • 린 UI/UX
        • 마이크로 그리드
        • 퍼블릭클라우드보안
        • Hazop
        • LBS
        • PLM
        • 드론정책, 표준
        • 3D Printer/4D
        • 에너지하베스팅
        • 3D Chip
        • 잊혀질 권리
        • ASPICE
        • HCI (Human Computer Interaction)
        • 그로스 해킹(Growth Hacking)
        • 소셜표준
        • 자동차 자율주행
        • 초연결 사회, 데이터 거래소, Data 브로커
        • IPC
        • 4차 산업혁명 [경계가 없어짐 / 융합]
        • 안티드론
        • BCI
        • 마이크로그리드
        • 라이프 로그(Life Log)
        • 샤딩
        • ISO 26262
        • u-Learning
        • 하둡
        • 리플리케이션
        • SNA
        • 스마트교육
        • LOD (Linked Open Data)
        • Femtocell
        • 인더스트리 4.0
        • 드론보안
        • 스토리지 재해복구
        • 엔터프라이즈 하둡
        • 도메인테스트
        • Appliance
        • IVI/OAA/지니비
        • Bio-Infomatics
        • NFV
        • 멀티모달 인터페이스
        • STORM
        • HTML 5
        • DLNA
        • CPS(Cyber Physical System) [SAC]
        • 초연결 신뢰 네트워크
        • Application Processor
        • 하둡에코 (Hive)
        • 코드 난독화(마스킹)
        • 라이다(LiDAR, Light Detection And Ranging)
        • RPD
        • 칸반
        • HDFS 1.0/HDFS 2.0 기능비교 (Hadoop2.0)
        • U-City 보안
        • 스마트팩토리
        • 린 스타트업
        • ASIL
        • IoT 보안 가이드라인
        • 인슈어 테크
        • Cloud Service Brokerage
        • 하둡에코 (Storm)
        • xDDOS(PDOS, DDOS, EDOS 등)
        • C-V2X
        • APT (Advanced Persistent Threat)
        • ACID / BASE
        • Hadoop 3.0
        • SBC
        • 크라우드 펀딩
        • MR
        • 오픈스택2
        • IoT보안(키교환)
        • PMBok 5th, ISO 21500, 비교
        • OTT
        • 하둡에코 (Mahout)
        • 보안거버넌스
        • 자율주행
        • CCL (Creative Commons License)
        • DASH
        • 3D D램
        • RSS
        • CI
        • HMD (Head Mounted Display)
        • 사이버공격 역추적 기술동향
        • 도커(Docker) 컨테이너 생성 관리 기술
        • BABok
        • Zero Client / Thin Client
        • IoT 보안 인증제
        • 보안사고(3.20, 6.25)
        • 3D Audio(MPEC-H Part3)
        • X Internet vs RIA
        • H.264/AVC
        • FTL(Flash Translation Layer)
  • 인지덤
    • 인공지능
      • 인공지능 개요
        • 인공지능 개요
        • 인공지능 역사
        • 인공지능 평가 - 튜링 테스트
        • 인공지능 아키텍처 - 규칙기반 모델(Rule-Based Model)
        • 인공지능 아키텍처 - 전문가시스템 (Expert System)
        • 인공지능 아키텍처 - 추천엔진 (Recmmendation Engine), 협업필터링
        • 인공지능과 윤리 – 트롤리 딜레마
        • 인공지능과 윤리 – 아실로마 인공지능 개발 원칙
        • 인공지능과 윤리 – 킬 스위치
        • 유한 오토마타
        • 지능형 에이전트
        • 유전자 알고리즘
      • 인공지능 수학이론(통계와 확률)
        • 상관분석(correlation analysis)
        • 유사도측정(Similaraty Measure)
        • 회귀분석(Regression Analysis)
        • 로지스틱 회귀분석(Logistic Regression Analysis)
        • 연관분석(Association Analysis)
        • Apriori 알고리즘
        • 앙상블학습(Ensemble learning)
      • 머신러닝
        • 기계학습(Machine Learning) 개요
        • 의사결정트리(Decision Tree)
        • KNN (K Near Neighborhood)
        • 서포트 벡터 머신(Support Vector Machine)
        • 베이즈 정리
        • 클러스터링 K-means
        • 밀도추정방식 DBSCAN Clustering
        • 차원축소, Feature Extraction, PCA, ICA
        • 은닉마르코프모델(HMM, Hidden Marcov Model)
        • 몬테카를로 트리 서치 (MCTS, Monte Carlo Tree Search)
        • Q-Learning
      • 딥러닝
        • 딥러닝 개요
        • 신경망 알고리즘 원리 - 헵의 규칙
        • 신경망 알고리즘 원리 - 퍼셉트론
        • 신경망 알고리즘 원리 - 아달라인
        • 신경망 학습 - 활성화 함수
        • 신경망 학습 - Feed Forward Neural Network
        • 신경망 학습 - 역전파(Backpropagation)
        • 신경망 최적화 - 기울기 소실 (Vanishing Gradient Problem)
        • 신경망 최적화 - 경사하강법(Gradient Descent)
        • 학습 최적화 - 적합(overfitting), 부적합(underfitting)
        • ANN, DNN
        • CNN (Convolutional Neural Network)
        • RNN (Recurrent Neural Network)
        • LSTM, GRU
        • RBN(Restrict Boltzmann Network)
        • DBN(Deep Brief Network)
        • DHN(Deep Hyper Net)
        • DQN(Deep Q-Network)
        • GAN(Generative Adversarial Network)
      • 알고리즘 평가
        • 혼동행렬 (Confusion Matrix)
        • ROC 커브
        • Cross Validation
        • 통계적 가설검정
      • 분야별 지능기술
        • TF-IDF
        • Tokenization, n-gram, 자연어처리
        • Word2vec
        • SNA
      • 참고. AI플랫폼
        • IBM Watson
        • 텐서플로우(Tensor flow)
        • Learning4J
        • Mahout
        • CNTK
        • 인공지능 라이브러리 – MATLAB
        • 인공지능 라이브러리 – Theano
        • 인공지능 라이브러리 – Caffe
        • 엑소브레인 (ExoBrain)
        • 딥뷰 (Deepview)
        • MS 코타나
  • 통지덤
    • 통신이론
      • 통신이론
        • 통신이론
        • 통신이론 – 통신원리
        • 통신이론 – 통신기술
        • 통신이론 – 통신기술 – 아날로그/디지털 신호
        • 통신이론 – 통신기술 – 변조/복조
        • 통신이론 – 통신기술 – 다중화/다중접속
      • 통신모델
        • 통신모델
        • 통신모델 – OSI 7 Layer
        • 통신모델 – OSI 7 Layer - 물리계층
        • 통신모델 – OSI 7 Layer – 데이터링크 계층
        • 통신모델 – OSI 7 Layer – 네트워크계층
        • 통신모델 – OSI 7 Layer – 전송계층
        • 통신모델 – OSI 7 Layer – 세션계층
        • 통신모델 – OSI 7 – 프리젠테이션계층
        • 통신모델 – OSI 7 – 어플리케이션계층
        • 통신모델 – TCP/IP
      • 통신망
        • 통신망
    • 무선통신
      • 기본통신
        • 기본통신
        • 기본통신 – WiFi(WLAN)
        • 기본통신 – 성능향상 WLAN 표준
      • 이동통신
        • 이동통신
        • 이동통신 – GSM/CDMA
        • 이동통신 – 4G
        • 이동통신 – 4G – LTE(Long Term Evolution)
        • 이동통신 – 4G – LTE-A(Advanced)
        • 이동통신 – 5G/IMT-2020
        • 이동통신 – 5G/IMT2020 – 네트워크 슬라이싱(Network Slicing)
        • 이동통신 – 5G/IMT2020 – SDN(Software Defined Network)
        • 이동통신 – 5G/IMT-2020 – NFV(Network Function Visiulation)
        • 이동통신 – 5G/IMT2020 – C-RAN(Cloud Radio Access Network)
        • 이동통신 – 5G/IMT2020 – NOMA(Non Orthogonal Multiple Access)
        • 이동통신 – 5G/IMT2020 – Massive-MIMO
        • 이동통신 – 5G/IMT2020 – 이동무선백홀
        • 이동통신 – 5G/IMT-2020 – FBMC(Filter Bank Multi Carrier)
        • 이동통신 – 5G/IMT2020 – IBFD(In Band Full Duplex)
        • 이동통신 – 5G/IMT2020 – MEC(Mobile Edge Cloud)
      • 사물통신
        • 사물통신(사물인터넷, IoT: Internet of Things)
        • 사물통신 - MQTT
        • 사물통신 - CoAP
        • 사물통신 – XMPP
        • 사물통신 – LwM2M
      • 소물통신
        • 소물통신(소물인터넷, IoST: Internet of Small Thinsg)
        • 소물통신 – 저전력광역무선망(LPWAN)
        • 소물통신 – 저전력광역무선망 – LoRa(Long Range)
        • 소물통신 – 저전력광역무선통신 – NB-IoT(NarrowBand)
      • 차량통신
        • 차량통신(V2X: Vehicle to Everything)
        • 차량통신 – V2I(Vehicle to Infrastructure)
        • 차량통신 – V2I - DSRC
        • 차량통신 – V2I - WAVE
        • 차량통신 - V2V
        • 차량통신 – IVN(In Vehicle Network)
        • 차량통신 – IVN – CAN(Controller Area Network)
        • 차량통신 – IVN - FlexRay
        • 차량통신 – IVN – LIN(Local Interconnect Network)
        • 차량통신 – IVN – MOST
        • 차량통신 – ITS/C-ITS(Cooperative Intelligent Transport System)
      • 재난통신
        • 재난통신
        • 재난통신 - 국가재난안전통신망
        • 재난통신 - LTE기반 국가재난안전무선통신망(PS-LTE)
      • 응용통신
        • 응용통신
        • 응용통신 – SDN(Software Defined Network)
        • 응용통신 – SDN - OpenFlow
        • 응용통신 – NFV(Network Function Virtualization)
      • 양자통신
        • 양자통신

Secure Coding

태그 :

개념
시큐어 코딩(Secure Coding)의 정의 - 서비스의 안정성과 신뢰성 확보를 위해 IT 시스템 개발 단계에서 주요 보안 취약점을 고려하여 소스코드 레벨에서 사전에 제거하여 안전한 소프트웨어를 개발하는 기법 - 소프트웨어 개발보안(Secure Coding): 해킹 등 사이버공격의 원인인 보안약점을 개발단계에서 사전에 제거하여 안전한 소프트웨어를 개발하는 기법

I. 공공 정보화 사업의 안전성을 위한 시큐어 코딩의 개요

가. 시큐어 코딩(Secure Coding)의 정의

  1. 서비스의 안정성과 신뢰성 확보를 위해 IT 시스템 개발 단계에서 주요 보안 취약점을 고려하여 소스코드 레벨에서 사전에 제거하여 안전한 소프트웨어를 개발하는 기법
  2. 소프트웨어 개발보안(Secure Coding): 해킹 등 사이버공격의 원인인 보안약점을 개발단계에서 사전에 제거하여 안전한 소프트웨어를 개발하는 기법

나. 시큐어 코딩의 목적

목적

시큐어 코딩의 목적

사이버 공격 예방

사이버 공격의 75%가 응용 프로그램의 취약점을 악용한 것(가트너 발표)

웹 어플리케이션

취약점 개선

사이트 교차 접속 스크립팅(XSS), SQL인젝션 공격 등의 웹 응용 프로그램에 내재된 보안 취약점을 이용한 고객 정보 유출 사고 발생

취약점 수정

비용 절감

설계 과정에서 발생한 결함이 개발 완료 후에 발견, 조치되는 경우, 설계 단계에서 결함을 수정하는 비용 대비 30배 비용 발생

보안취약점

대응

  • 최근의 사이버 공격의 진화에 다른 사전에 정보처리시스템의 보안취약점을 사전 대응
  • Zero Day공격, SQL인젝션 취약점, 침입차단시스템 등 보안장비의 우회 등

전자정부

서비스확대

ICT 신기술을 활용한 전자정부 서비스가 확대되고, 대부분의 행정서비스가 인터넷을 통해 제공되면서, 전자정부 서비스의 보안취약점을 지속적으로 진단, 제거에 효율적 관리 방안

안정성 및

신뢰성 확보

전자정부 서비스의 안정성 및 신뢰성 확보를 위해 정보시스템의 개발단계부터 개념 및 소스코드레벨에서의 대응조치를 제안하여 전자정부 서비스의 보안 정책을 강화하기 위함

  1. 보안 취약점 제거는 운영단계보다 개발단계가 훨씬 효율적
  2. 소스코드 레벨의 보안 취약점 잔존 최소화가 목적

다. SW개발보안 필요성

구분

설명

광의적측면

SDLC(SW개발생명주기) 각 단계별로 요구되는 보안활동

협의적측면

시큐어코딩(Secure Coding), 소스코드 구현단계의 보안활동

OSI

7계층

측면

경제적

측면

 설계에서 제품출시까지 최대 30배의 비용차이 발생

  • 소스코드를 통한 사이버 공격은 침입방지(IDS), 침입차단(IPS) 등 일반적 보안장비로 대응 어려움

 

Ⅱ. 정보처리시스템의 보안성 강화를 위한 시큐어 코딩의 적용대상 및 적용범위

  가. SW개발보안 적용대상 및 범위 기준

대상

내용

의무대상

 단계적으로 의무 대상을 확대하여 ‘15년에는 감리대상 전 정보화 사업에 소프트웨어 개발보안을 적용함.

적용제외

상용 소프트웨어는 소프트웨어 개발보안 적용 대상에서 제외됨.

적용범위

소프트웨어 개발 사업자가 반드시 제거해야 할 보안약점은 SQL 삽입, 크로스사이트스크립트(XSS) 등 43개 존재.

감리영역

  • 감리법인은 정보시스템 감리 시 검사 항목에 보안약점 제거여부를 반드시 포함
  • 감리법인은 효과적인 보안약점 진단을 위해 진단도구를 사용할 경우 국정원장이 인증한 보안약점 진단도구를 사용

 

나. CWE(Common Weakness Enumeration)의 7 Pernicious Kingdoms 분류 (★★)

범위

설명

예제

입력 데이터

검증 및 표현

프로그램 입력 값에 대한 검증 누락 또는 부적절한 검증, 데이터의 잘못된 형식지정으로 인해 발생할 수 있는 보안취약점

XSS, SQL삽입, 버퍼 오버플로우, OS 명령어 삽입공격 등

보안기능

보안기증(인증, 접근제어, 기밀성, 암호화, 권한관리 등)을 적절하지 않게 구현 시 발생할 수 있는 보안취약점

중요 정보 평문 저장, 하드코드 된 패스워드 등

시간 및 상태

병렬 시스템, 프로세스나 쓰레드 환경에서 시간 및 상태를 부적절하게 관리하여 발생할 수 있는 보안취약점

DeadLock, 자원에 대한 경쟁 조건, 세션 고착

에러처리

에러를 처리하지 않거나, 불충분하게 처리하여 에러정보에 중요정보가 포함될 때 발생할 수 있는 보안취약점

에러처리 루틴 누락, 에러처리 통한 정보 노출 등

코드품질

복잡한 소스코드로 인해 관리성, 유지보수성, 가독성 저하가 발생하여 코딩 오류로 인해 유발되는 보안취약점

널 포인터 역 참조, 부적절한 자원 해제 등

캡슐화

중요한 데이터 또는 기능성을 불충분하게 캡슐화 하였을 때 인가되지 않은 사용자에게 데이터 누출이 가능해지는 보안약점

제거되지 않고 남은 디버거 코드, 시스템 데이터 정보 노출 등

API 악용

의도된 사용에 반하는 방법으로 API를 사용하거나, 보안에 취약한 API를 사용하여 발생할 수 있는 보안약점

DNS Lookup에 의존한 보안결정

  • 보안전문가나 개발자가 SW보안취약점을 소스코드 관점에서 이해하기 쉽게 유형을 분류

 

III. S/W 보안취약점유형(적용범위) 및 보안대책

가. 입력데이터 검증 및 표현

  • 프로그램 입력 값에 대한 검증 누락 또는 부적절한 검증, 데이터의 잘못된 형식지정으로 인해 발생할 수 있는 보안약점

취약점 유형

공격기법

보안대책

XSS

사용자 요청에 의해 검증되지 않은 외부 입력 데이터가 포함된 동적 웹페이지가 생성•전송되는 경우, 사용자가 해동 동적 웹페이지를 열람함으로써 웹페이지에 포함된 부적절한 스크립트가 실행되는 공격

외부로부터 입력된 문자열을 사용하여 경로 페이지를 생성할 경우, 사전에 위험한 문자열을 ReplaceAll()등과 같은 메소드를 사용하여 제거한 후 사용해야 함.

SQL 삽입

공격자가 입력한 데이터에 대한 유효성을 점검하지 않아 DB쿼리 로직이 변경되어 공격자의 의도대로 중요 정보유출 또는 DB의 변경을 가하는 공격

외부 입력이나 외부 변수로부터 받은 값이 직접 SQL 함수의 인자로 전달되거나, 문자열 복사를 통하여 전달되는 것은 위험하므로 인자화된 질의문 사용해야 함.

HTTP 응답 분할

HTTP요청 인자값 내에 CR이나 LF존재시, HTTP 응답이 분리되어, 두번째 응답에 악의적인 코드를 주입하여 XSS 및 캐시 훼손시키는 공격

외부에서 입력된 인자 값을 사용하여 HTTP 응답헤더에 포함시킬 경우 CR, LF등을 제거하거나 적절한 인코딩 기법을 사용해야 함.

버퍼 오버플로우

프로그램이 버퍼가 저장할 수 있는 것보다 많은 데이터를 삽입하려고 할 때 또는 프로그램이 버퍼 경계 밖의 메모리 영역에 데이터를 삽입하려고 할 때 발생하는 취약점

버퍼 저장공간보다 많은 데이터 입력금지

- 버퍼 경계 밖 메모리 영역 참조 금지

입력에 대한 경계검사 실시

- strcpy()와 같은 버퍼 오버플로우에 취약한 함수 사용 금지

디렉토리 경로조작

지정된 디렉토리 외 경로로 접근할 수 있는 특수문자(“..”, “/”등) 경로명에 포함되어 있는 경우 APP가 제어하지 못하여 의도하지 않은 폴더 및 파일에 접근할 수 있는 보안 취약점

외부의 입력이 직접 파일이름 생성에 사용될 수 없도록 함.

- replaceAll()함수를 이용하여 위험문자열 필터링 수행

운영체제 명령어 삽입

외부에서 입력받은 시스템 명령어 검증 없이 공격자가 원하는 명령어 실행이 가능하게 되어 부적절한 권한 변경 및 내부 중요 정보 변경으로 인한 프로그램 및 시스템 동작•운영에 악영향을 주는 보안취약점

외부로부터 전달된 값을 그대로 시스템 내부 명령어를 사용하지 않도록 함.

- 명령어 생성에 필요한 값들을 사전 정의 후, 외부 입력에 따라 선택하여 사용토록 함

LDAP 삽입

공격자가 외부 입력을 통해 LDAP 명령어를 수행하는 보안 취약점

 

외부의 입력이 LDAP 필터 문자열로 사용될 경우, 가능한 입력의 집합 또는 위험한 입력 문자열의 집합을 설정하여 임의위 외부 입력이 필터 생성에 사용되지 않도록 관리

버퍼 범위 한칸 벗어난 부분 읽기

프로그램이 할당된 메모리의 범위를 벗어나서 읽는 경우에 발생하는 보안 취약점

버퍼 크기와 같은 값을 갖는 인덱스를 그대로 사용하지 않도록 함.

- 버퍼 범위를 넘어서는 영역을 읽지 않도록 함.

자원삽입

애플리케이션이 입력 컴포넌트를 통해 수신한 데이터를 적절하게 제어하지 않고 자원에 대한 식별자로 사용하면 의도한 통제범위 밖의 자원에 접근할 수 있는 보안 취약점

외부의 입력을 아무 검증 없이 자원 식별자로 사용 금지

- 외부의 입력에 따라 적합한 리스트(white list)에서 선택되도록 작성

 

나. API악용

  • 의도된 사용에 반하는 방법으로 API를 사용하거나, 보안에 취약한 API를 사용하여 발생 할 수 있는 보안 취약점

취약점 유형

공격기법

보안대책

위험하다고 알려진 함수 사용

보안취약점을 고려하지 않고 개발되어, 사용자체가 취약한 함수들의 보안 취약점

- gets()함수의 사용

gets()함수 사용 금지

J2EE: System.exit()사용

J2EE 응용프로그램에서 System.exit()의 사용시 컨테이너 종료시킬 수 있는 보안 취약점

J2EE 프로그램에서 System.exit()사용 금지

Null 매개변수 미사용

Java표준에서 특정 메소드 사용시 매개변수가 null인 경우 지정된 값을 반환하지 못해 발생하는 예기치 못한 동작에 대한 보안 취약점

- Object.equals(), Comparator.compare()사용시 발생

Object.equals(),

Comparable.compareTo()과

Comparator.compare()을 이용한 매개변수 전달 시 Null여부를 점검하는 과정을 거친 후 사용해야 함.

Equals()와

hashCode()하나만 정의

동일 객체의 경우 동일한 해시코드를 가져야 함으로 인해 한 클래스 내에서 equals()와 hashCode()를 하나만 정의할 경우 보안 취약점 발생

한 클래스 내에 equals()를 정의하면 hashCode()도 정의해야 하고 hasCode()를 정의하면 equals()도 정의해야 함.

 

다. 보안특성

  • 보안특성(인증, 접근제어, 기밀성, 암호화, 권한관리 등)을 부주의하게 구현 시 발생할 수 있는 보안 취약점

취약점 유형

공격기법

보안대책

하드코드된 패스워드

 

프로그램 코드 내부에 패스워드 포함 시, 관리자 정보 노출될 수 있는 보안취약점

패스워드는 암호화하여 별도 파일에 저장

- 소프트웨어 설치 시 직접 패스워드나 키를 입력하도록 설계

사이트 간

요청 위조

사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격

입력화면 폼을 작성 시 GET 방식보다 POST방식 사용

- 입력폼과 입력처리 프로그램에서 토큰사용

적절하지 못한 세션 만료

 

웹사이트가 인증에 사용된 기존 세션 인증 정보 또는 세션 아이디의 재사용을 허용하여 공격자가 이를 악용하여 발생하는 보안 취약점

세션의 만료시간 설정 시, 적당한 양수를 사용하여 일정 시간 이후 세션이 종료되도록 구현

부적절한

인가

프로그램이 모든 가능한 실행경로에 대해 접근제어를 검사하지 않거나 불완전하게 검사하는 경우, 공격자가 접근 가능한 실행경로를 통해 정보를 유출할 수 있는 보안 취약점

응용프로그램이 제공하는 정보와 기능을 역할에 따라 배분, 공격자에게 노출되는 공격표면(attack surface)을 최소화

- 사용자의 권한에 따른 ACL(Access Control List)을 관리

취약한 암호화 알고리즘의 사용

 

인가되지 않은 사용자에 의해 암호화된 정보의 노출 또는 변조가 발생될 수 있는 보안 취약점

학계 및 업계에서 이미 검증된 표준화된 알고리즘 사용

- 3DES, AES, SEED의 안전한 알고리즘 대체 및 사용

기밀정보의 단순한 텍스트 전송

 

텍스트 형태의 데이터를 통신채널을 통해 송수신시 스니핑되어 데이터가 노출될 수 있는 보안 취약점

패스워드 등 민감한 정보를 통신채널을 통해 송•수신시 반드시 암호화

 

라. 시간 및 상태

  • 동시 또는 거의 동시 수행을 지원하는 병렬 시스템, 프로세스 또는 스레드 환경에서 시간 및 상태를 부적절하게 관리하여 발생 할 수 있는 보안 취약점

취약점 유형

공격기법

보안대책

경쟁조건: 검사시점과 사용시점

 

병렬 실행 환경의 응용프로그램이 자원 사용하는 시점에 자원의 상태가 변경되어 교육착생, 경쟁조건 및 기타 동기화 오류가 발생되어 프로그램의 정상동작에 영향을 줄 수 있는 보안 취약점

동기화 구문 이용

- thread safe 함수 사용

- 상호배제, sychronized사용

제대로 제어되지 않은 재귀

 

재귀함수의 순환회수 제어실패로 무한루프 발생 및 자원고갈을 유발하여 시스템의 비정상적인 상태가 되도록 하는 문제점

모든 재귀 호출을 조건문 블록이나 반복문 블록안에서만 수행토록 함

 

J2EE 잘못된 습관: 스레드의 직접 사용

 

웹 응용프로그램에서 스레드 직접사용에 따른 교착상태, 경쟁조건 및 기타 동기화 오류 발생 문제

J2EE에서 스레드 사용대신 병렬 실행을 위한 프레임워크 사용해야 함

 

마. 에러처리

  • 에러를 불충분하게 처리하거나 전혀 처리를 하지 않거나 에러 정보에 과도하게 많은 정보가 포함될 때 발생할 수 있는 보안 취약점

취약점 유형

공격기법

보안대책

취약한 패스워드 요구조건

 

강하지 않은 사용자 패스워드 조합규칙에 따른 사용자 계정 보안 취약점

패스워드 생성시 강한 조건 검증 필요

- 패스워드는 문자/특수문자를 조합하여 최소 9자리 이상으로 생성

오류 메시지 통한 정보 노출

 

프로그램이 실행환경, 사용자, 관련 데이터에 대한 민감한 정보를 포함하는 오류메시지를 생성, 외부에 제공 시 공격자의 악성행위를 도와주게 되는 보안 취약점

에러메시지는 정해진 사용자에게 유용한 최소한의 정보만 표현

- 예외사항을 내부적으로 처리하고 사용자에게 민감한 정보를 포함하는 오류 출력금지

- 시스템 구성 시 디폴트 오류 페이지나 메시지가 어떤 정보도 노출하지 않도록 함.

 

바. 코드품질

  • 복잡한 소스코드로 인해 관리성, 유지보수성, 가독성이 저하되어 SW 개발, 유지보수시 타입변환 오류, 자원(메모리 등)의 부적절한 반환 등과 같이 개발자가 범할 수 있는 코딩오류로 유발되는 보안 취약점

취약점 유형

공격기법

보안대책

부호 정수를 무부호 정수로 타입 변환 오류

부호정수(Signed integer)를 무부호 정수(unsigned integer)로 변환하면서 음수가 큰 양수로 변환, 해당 값이 배열의 인덱스로 사용시 정수 오버플로우가 발생하는 보안 취약점

무부호 정수타입 변수의 경우, 입력 또는 반환값에 대한 정수타입 확인

- 배열 등 메모리에 함수 반환값을 복사▪저장할 때, 반환값의 크기 확인

정수를 문자로 변환

 

정수를 문자(character)로 변환하면서 표현할 수 없는 범위의 값이 잘려나가 문자에 대한 저장값이 올바르지 않은 보안 취약점

정수를 문자로 변환할 경우, 변환 값의 크기가 변환 값이 저장도리 변수의 크기보다 크지 않도록 함.

자원의 부적절한 반환

 

프로그램 자원 사용 후, 적절히 반환하지 않음 으로 인해 프로그램 오류 또는 에러로 사용이 끝난 자원을 반환하지 못하는 보안 취약점

자원을 획득하여 사용한 후, 반드시 자원 해제

 

사. 캡슐화

  • 중요한 데이터 또는 기능성을 불충분하게 캡슐화하였을 때 인가되지 않은 사용자 또는 시스템에게 데이터 누출이 가능해지는 보안 취약점

취약점 유형

공격기법

보안대책

제거되지 않고 남은 디버거 코드

 

디버깅 목적으로 삽입된 코드가 제거되지 않음으로 인해 공격자가 식별 과정을 우회하거나 의도하지 않은 정보와 제어 정보가 누출될 수 있는 보안 취약점

디버거 코드는 개발 완료 후, 삭제처리

 

민감한 데이터를 가진 내부 클래스 사용

 

내부 클래스는 컴파일 과정에서 패키지 수준의 접근성으로 바뀌기 때문에 의도하지 않는 정보공개가 발생하거나, 권한이 없는 클래스를 사용하고자 할 때 발생하는 취약점

내부클래스 사용시 외부클래스의 private필드 접근금지

- Private로 지정된 클래스의 접근금지

-내부클래스 사용시 정적(static) 또는 지역적(local) 또는 익명(anonymous) 내부 클래스 사용

시스템 데이터 정보 누출

 

getMessage()를 통해 오류와 관련된 시스템 정보, 관리자 정보, DB 정보 등 민감한 정보가 에러정보에 포함되어 공개되는 경우, 공격자가 시스템에 대한 공격을 할 수 있는 보안 취약점

공격의 빌미가 될 수 있는 시스템 데이터 정보, 오류정보 등 상세한 정보는 최종 사용자에게 노출 금지

 

 

IV. 소프트웨어 개발보안에서 시큐어 코딩 연구 및 추진사항

가. SW 개발보안은 SW 생명주기(SDLC)의 각 단계별로 요구되는 보안활동을 모두 포함하며, 좁은 의미로는 SW 개발과정에서 소스코드를 작성하는 구현단계에서 보안취약점을 배제하기 위한 시큐어 코딩(Secure Coding)을 의미함

부문

연구 및 추진사항

연구영역

  • 최근 SW 보안전문가를 중심으로 취약점의 한계를 극복하고자 소스코드의 취약점 패턴과 이에 대한 공격 및 보안조치를 활발히 연구하고 공유
  • 보안 취약점 사례의 체계적인 DB 구축, 정보 및 민간차원의 활동 진행

발주영역

(공공)

  • 정보 및 민간차원에서 발행되는 공신력을 보유한 가이드와 동향에 적극적인 준수
  • SW보안 전문 인력과 기관과의 긴밀한 협업과 지속적인 Research를 통한 적용의 의무화

감리영역

정보처리 시스템의 감리영역에서 감리법인은 정보시스템 감리 시 검사항목에 보안약점 제거여부를 반드시 포함 통해서 지속적 진행

개발영역

  • SW 개발의 전체 생명주기(SDLC)에 영향력이 있으며, 초기단계일수록 결함을 수정하는 비용이 줄어드는 분석결과를 토대로 개발의 단계의 충분한 시큐어 코딩 교육을 통해서 상대적으로 효과를 높일 수 있음
  • 보안개발의 실효성 제고를 위해 개발자가 보안취약점을 이해하고 보안조치를 반영할 수 있도록 사전 개발자 교육을 강화
  • 검수과정에 보안조치 반영여부 및 보안취약점 잔존여부를 확인하기 위해 절차를 적용할 필요 있음
  • 결과적으로 개발단계에서부터 보안을 고려해 소스코드를 작성하는 한편, 보안취약점을 사전에 진단 및 제거하기 위한 노력을 통해 안전한 전자정부 서비스를 보다 효과적으로 구현할 수 있음
  • 즉 시큐어 코딩 부문은 개발영역의 체계화된 괸리와 운영을 통해서 SW 보안을 실현할 수 있음

 

V. 소프트웨어 개발보안 가이드의 활성화 방안 및 세부 활동

가.소프트웨어 개발 보안 가이드 활성화 방안

  • 정부 및 공공기관 <1단계>의무적용을 통해 국가 정보화 사업에 SW개발보안 가이드 활성화
  • 민간기업, 대형 SI기업에 초기에 권고를 통한 적용 이후, 의무적용에 준하는 활성화를 유도하는 <2단계>실시
  • 소프트웨어 보안취약점에 따른 개발보안 가이드는 보안문제가 사회적으로 심각성이 더해가는 상황에서 단계적 적용을 통한 활성화가 필요
  • 이를 위해, 국가 및 정부, 공공기관 그리고 민간기업 등에서 SW개발 보안가이드 활성화를 위한 다양한 세부 활동이 필요함
  • ICT 신기술을 활용한 전자정부 서비스가 확대되고, 대부분의 행정 서비스가 인터넷을 통해 제공되면서, 전자정부 서비스의 취약점을 지속적으로 진단하고 보완하는 노력이 필수적,
  • 대국민서비스, 공공서비스, 전자정부 서비스 등의 안정성 및 신뢰성 확보
     

 

나. 소프트웨어 개발 보안 가이드 활성화를 위한 세부 활동

주체

세부활동

주요내용

국가 및 정부

보안연구 및 지속적 보안취약점 DB업데이트

  • 일회성 가이드 아닌 지속적 보안 취약점 DB업데이트를 통한 보안가이드 현행화 실시
  • SW보안전문가 중심 취약점 패턴과 보안공격 및 조치에 관한 연구활동 장려àDB의 지속적 Updateà현행화 단계로 순환적 체계 형성

가이드 홍보

국가차원에서 국가를 대상으로 한 사업 및 공공사업에 가이드 적용을 위한 교육의 주기적 실시, 홍보자료 배포

공공기관

정보화 사업 발주부분에 적용

국가를 대상으로 하는 정보화 사업에 SW개발 보안가이드 적용확대

감리부분에

적용

정보시스템 감리 시 검사항목의 보안약점 제거 여부를 반드시 포함함으로써 개발단계에서 적용 및 활성화

개발부분에

적용

  • 개발 초기부터 시큐어 코딩 교육 실시
  • 개발자가 보안취약점을 이해하고 보안조치활동을 할 수 있도록 실질적 사전 교육 실시

민간기업

SI 프로젝트 시 가이드 적용

PMO 구성 및 RFP에 구축단계에서 가이드 사용 유도, 개발 표준 문서에 포함 또는 테일러링 시 적용부분 명시

교육 및 홍보

개발자, 품질 및 아키텍트 등 가이드 교육을 통한 보안 취약성 인지 활동 수행

품질점검 활동에 적용

개발 생명 주기에서 각 단계 말 검토 시 품질전문가 통한 가이드 적용여부 확인 및 점검

 

VI. 안전하지 않은 소스코드 개선 사례

가. 안전하지 않은 C언어 코드 사례 1

구분

내용

문제 코드

void User_check(SQLHSTMT sqlh)

{

Char *query = getenv(“query_string”);

SQLExecDirect(sqlh, query, SQL_NTS);

}

취약점 분류

입력 데이터 검증 및 표현

공격 유형

SQL Injection

원인 및 영향

- SQL 쿼리를 수행하는 로직으로, getenv를 통하여 외부로부터 입력된 query_string 값을 그대로 실행한다.

- 이 때 query_string을 구성하는 사용자 입력값에 ‘ OR 1=1; 와 같은 SQL Injection 코드가 포함되어 있다면, 사용자를 확인하는 User_check 함수는 언제나 ‘참’의 결과를 반환한다.

- 공격자는 자신이 소유할 수 있는 권한 이상의 권한을 소유하게 된다.

개선 방법

- SQL 쿼리를 실행하기 전에 사용자 입력 값에 대한 필터링을 수행하고, 인자화된 쿼리 수행으로 구조를 변경한다.

개선 코드

void User_check(SQLHSTMT sqlh)

{

char *id = getenv(“id”);

char *pw = getenv(“pw”);

char query[MAX_QUERY_LENGTH];

id = validateSQLParameter(id, “ID”); // id의 유효성 확인, trim 등의 처리 후 반환

pw = validateSQLParameter(pw, “PW”); // pw의 유효성 확인, trim 등의 처리 후 반환

 

sprint(query, “SELECT * FROM user WHERE id=’%s’ and pw=’%s’”, id, pw);

SQLExecDirect(sqlh, query, SQL_NTS);

}

 

나. 안전하지 않은 C언어 코드 사례 2

구분

내용

문제 코드

#include <stdio.h>

#include <stdlib.h>

#define BUFSIZE 100

void f() {

char buf[BUFSIZE];

gets(buf);

}

취약점 분류

API 오용

공격 유형

Buffer overflow

원인 및 영향

표준 입력(stdin)으로부터 사용자의 입력을 받는 gets 함수는 사용자 입력의 최대 크기를 제한할 수 없으므로, Buffer Overflow 공격의 주 대상이 되므로, 이미 위험하다고 알려져 있는 함수임

개선 방법

입력 값의 최대 크기를 지정할 수 있는 fgets 함수를 gets대신 사용

개선 코드

#include <stdio.h>

#include <stdlib.h>

#define BUFSIZE 100

void f() {

char buf[BUFSIZE];

fgets(buf, BUFSIZE, stdin);

}

 

다. 안전하지 않은 JAVA 언어 코드 사례 3

구분

내용

문제 코드

public class S_check extends HttpServlet {

public void noExpiration(HttpSession session) {

  if(session.isNew()) {

  session.setMaxInactiveInterval(-1);

  }

}

}

취약점 분류

보안기능

공격 유형

세션 아이디 재사용

원인 및 영향

- 세션이 신규로 생성된 경우, 미사용 세션의 최대 유지시간을 ‘-1’로 설정하는 것은 무제한으로 설정하는 의미

- 피해자가 오랫동안 PC를 비우는 사이에 악의적 목적을 가진 공격자가 사용자 PC를 점거 가능

- 세션 하이재킹 등의 공격이 보다 수월해짐

개선 방법

- 미사용 세션의 최대 유지 시간을 양수로 정의함

개선 코드

public class S_check extends HttpServlet {

public void noExpiration(HttpSession session) {

  if(session.isNew()) {

  session.setMaxInactiveInterval(60*60);

  }

}

}

 

 

(주)씨에스리 서울특별시 마포구 월드컵북로 396, 누리꿈스퀘어 8층 대표이사 이춘식

Copyright © 2013 CSLEE. All right reserved.