Secure Software Development

Responsible for developing, creating, modifying, and maintaining computer applications, software, or specialized utility programs.

  • T0077: Develop secure code and error handling
  • T0311: Consult with customers about software system design and maintenance
  • T1019: Determine special needs of cyber-physical systems
  • T1020: Determine the operational and safety impacts of cybersecurity lapses
  • T1067: Recommend development of new applications or modification of existing applications
  • T1068: Create development plans for new applications or modification of existing applications
  • T1071: Evaluate software design plan timelines and cost estimates
  • T1073: Perform code reviews
  • T1074: Prepare secure code documentation
  • T1082: Integrate software cybersecurity objectives into project plans and schedules
  • T1083: Determine project security controls
  • T1089: Create program documentation during initial development and subsequent revision phases
  • T1098: Determine system performance requirements
  • T1099: Design application interfaces
  • T1108: Evaluate interfaces between hardware and software
  • T1116: Correct program errors
  • T1117: Determine if desired program results are produced
  • T1135: Design and develop software systems
  • T1190: Determine hardware configuration
  • T1197: Identify common coding flaws
  • T1202: Determine software development security implications within centralized and decentralized environments across the enterprise
  • T1203: Implement software development cybersecurity methodologies within centralized and decentralized environments across the enterprise
  • T1204: Determine cybersecurity measures for steady state operation and management of software
  • T1205: Incorporate product end-of-life cybersecurity measures
  • T1258: Perform integrated quality assurance testing
  • T1261: Mitigate programming vulnerabilities
  • T1262: Identify programming code flaws
  • T1269: Conduct risk analysis of applications and systems undergoing major changes
  • T1280: Develop workflow charts and diagrams
  • T1281: Convert workflow charts and diagrams into coded computer language instructions
  • T1302: Address security implications in the software acceptance phase
  • T1309: Analyze system capabilities and requirements
  • T1318: Integrate security requirements into application design elements
  • T1319: Document software attack surface elements
  • T1320: Conduct threat modeling
  • T1360: Design programming language exploitation countermeasures and mitigations
  • T1400: Design and develop secure applications
  • T1422: Develop software documentation
  • T1499: Integrate public key cryptography into applications
  • T1509: Analyze feasibility of software design within time and cost constraints
  • T1513: Conduct trial runs of programs and software applications
  • T1528: Develop software system testing and validation procedures
  • T1529: Create software system documentation
  • T1575: Adapt software to new hardware
  • T1576: Upgrade software interfaces
  • T1577: Improve software performance
  • T1624: Conduct vulnerability analysis of software patches and updates
  • T1625: Prepare vulnerability analysis reports