목록전체 글 (156)
개발자 키우기
설계단계 보안요구항목입력데이터 검증 및 표현DBMS 조회 및 결과 검증애플리케이션에서 DB연결을 수행할 때 최고권한의 계정을 사용외부 입력값이 삽입되는 SQL쿼리문을 동적으로 생성해서 샐행하지 않도록함동적으로 SQL 쿼리문을 생성해야하는 경우는 입력값에 대한 검증 수행 후 사용XML, LDAP 조회 및 결과 검증사용자 입력값을 검증 또는 필터링 하여 사용시스템 자원 접근 및 명령어 수행 입력값 검증허가되지 않은 자원이 사용되지 않도록함서버 프로그램 안에서 쉘을 생성하여 명령어를 실행하는 경우 외부입력값에 의해 악의적인 명령어가 실행되지 않도록함웹서비스 요청 및 결과 검증사용자로부터 입력 받은 값이나 DB 조회결과를 동적으로 생성되는 응답페이지는 크로스사이트 스크립트(XSS) 필터링을 수행한 뒤 사용웹 기..
침해사고 발생빈도로 본 소프트웨어 개발보안의 필요성침해사고 발생 빈도방화벽 + IDS/IPS + 웹 방화벽 = 15% 이내개발서버 + 애플리케이션 서버 = 75%SQL 인젝션동적 SQL (JDBC API의 Statement)애플리케이션에서 문자열을 이어붙여 SQL을 생성함사용자 입력값이 SQL 문장 안에 그대로 포함됨파싱 전에 이미 SQL 구조가 만들어짐입력값에 따라 SQL 문법 자체가 변할 수 있음어쩔 수 없이 동적 SQL을 사용해야 하는 경우사용자 입력값 필터링을 통하여 사용내부에서만 사용하는 고정 값은 문제가 없지만 개발자 실수가 발생할 수 있음정적 SQL (Prepared Statement)SQL 구조를 먼저 정의하고 ? 같은 바인딩 변수 사용DB가 먼저 파싱/검증 후 실행계획을 생성함사용자 입력..
데이터 모델링 표기법정보공학(IE) 표기법엔터티상위 엔터티: 각진 사각형하위 엔터티: 둥근 사각형서브 타입: 다른 엔터티처럼 표기(Exclusive, Inclusive 표기 필수)주식별자: 엔터티 안 줄이 그어진 윗부분에 표시외래식별자: 속성명 뒤에 (FK) 표시속성: 표기 없음관계필수: 동그라미 생략 (나와 관계 있는 엔터티에 붙임)선택: 동그라미 표기 (나와 관계 있는 엔터티에 붙임)관계 식별성식별: 실선비식별: 점선CASE* Method 표기법엔터티엔터티: 둥근 사각형서브타입: 상위 엔터티 안에 둥근 사각형주식별자: 엔터티 안 # 표시외래식별자: 속성명 뒤에 (FK) 표시속성필수 속성: *선택 속성: o관계필수: 실선 (나에게 붙임)선택: 점선 (나에게 붙임)관계 식별성식별: UID Bar (식별받..
데이터 표준화가 되지 않은 데이터 활용상의 문제데이터의 중복 및 조직, 업무, 시스템별 데이터 불일치 발생데이터에 대한 의미 파악 지연으로 정보 제공의 직시성 결여데이터 통합의 어려움정보시스템 변경 및 유지 보수 곤란데이터 표준화가 되지 않은 원인동시 다발적인 정보시스템 개발전사 데이터 관리 마인드 미형성전사 데이터 관리 인력 부재전사 데이터 표준 관리 도구 부재데이터 표준화 기대 효과명칭의 통일로 인한 명확한 의사소통 증대필요한 데이터의 소재 파악에 소요되는 시간 및 노력 감소일관된 데이터 형식 및 규칙의 적용으로 인한 데이터 품질 향상정보시스템 간 데이터 인터페이스 시 데이터 변환, 정제 비용 감소데이터 표준화란?시스템별로 산재해 있는 데이터 정보 요소에 대한 명칭, 정의, 형식, 규칙에 대한 원칙을..
정보 요구 사항이란?사용자가 일상적으로 수행하는 업무의 개선 사항이나 신규 개발 사항으로 시스템을 통해 기능상의 목적을 달성하기 위해 요청하는 내용요구사항 분석이란?사용자의 요구에 대하여 이해하는 단계로 요구의 성격과 범위를 이해해야 하며, 문제 해결에 있어서 제약 사항을 파악하고 어떤 방법으로 문제를 해결할 것인지 결정하는 것요구사항을 정확하게 분석하지 않으면 프로젝트 실패의 원인이 됨정보 요구 사항 생명주기 모형정보 요구 사항 도출사용자 인터뷰, 설문지, 워크숍, 현행 시스템 분석등을 통해 분석정보 요구 사항 분석 및 정의수집된 정보 요구 사항을 정리하고 방법론에서 제시하는 다양한 기법으로 분석해 정보 요구 사항을 정의기능 요구사항, 비기능 요구사항(성능, 보안 등), 기타 요구사항(유지 관리 등)정..
아키텍처란?구성요소의 구조, 구성요소 사이의 관계, 구성요소의 설계, 시간 경과에 따른 구성요소의 발전을 위한 원리와 지침대상에 대한 구조뿐만 아니라 대상 구조의 유지 관리를 위한 원칙과 지침, 향후 목표 아키텍처로 가기 위한 계획을 포함구조 + 구조간의 관계 + 설계 + 유지보수아키텍처의 세 가지 관점규칙 관점아키텍처를 설계하고 정의하는 모든 활동의 기준을 확립하는 것으로 헌법과 같은 역할의사결정 단계에서 상호운용이나 일관성이 유지되도록 준수하여야 하는 원칙을 수립하고 적용함으로써 연속성 유지모델 관점아키텍처는 구체적인 모델이나 기업에 의하여 분석된 후 그 결과가 사전에 약속된 표기법에 의하여 표현향후의 변경을 고려한 절차나 기법을 표준화하는 것까지 포함계획 관점ASIS와 TOBE를 정의하여 TOBE로..
비정규화에 대한 사설비정규화 모델은 정규화를 완료한 후에 비정규화를 고려조회 성능을 향상시키기 위해 데이터를 중복하거나 그룹핑하는 과정 DBMS의 물리적인 내용과 밀접하게 연관비정규화는 중복 데이터를 허용하는 것을 의미하며 속성이나 엔터티를 중복해서 사용함비정규화 원칙최우선적으로 고려할 요소는 데이터 무결성정규형은 필수며, 성능 문제가 있을때만 비정규형을 채택중복 속성은 가능한 사용하지 않으며, 추출 속성은 일부 사용비정규형의 단점정합성데이터를 중복시키는 것이 비정규화의 핵심인데 중복된 데이터는 정합성이 훼손된 가능성이 존재해 데이터 품질이 떨어짐쓰기 성능 저하비정규화를 하는 유일한 이유는 읽기 성능을 향상시키는 것인데 비정규화를 수행하면 쓰기 성능이 반대로 문제가 될 수 있음쓰기 성능을 포기할 만큼 읽..
이력 데이터에 대한 사설원천 데이터가 생기는 것을 이력 데이터라고 하지 않으며 원천 데이터가 수정되거나 변경된 부분을 이력 데이터라함데이터의 과거 상태를 추적할 필요가 있을 때 이력 데이터를 관리함변경되기 전 어떤 데이터였는지 관심이 없다면 이력 데이터를 필요 없음이력 데이터와 내역 데이터예전에 쌓인 데이터이더라도 변경되지 않았다면 이력 데이터가 아니라 내역 데이터이다원천 데이터인 내역 데이터가 변경될 때, 변경 전의 데이터를 관리해야 이력 데이터를 관리하는 것주 식별자에 종속된 속성 값이 바뀌면 이력 데이터가 생김원천 데이터와 이력 데이터를 하나의 엔터티로 관리할 때는 어떤 인스턴스가 원천 또는 이력 데이터인지 알수 없기에 분리하는 것이 원칙이력 엔터티 설계 시점개념 모델링 단계에서 원천 엔터티와 동시..