Cyberspace Capability Developer
Provides software and hardware capabilities that produce cyberspace effects in and throughout cyberspace operations through vulnerability analysis, and software research and development.
Core KSATs
KSAT ID | Description | KSAT |
---|---|---|
22 | * Knowledge of computer networking concepts and protocols, and network security methodologies. |
Knowledge |
108 | * Knowledge of risk management processes (e.g., methods for assessing and mitigating risk). |
Knowledge |
1157 | * Knowledge of national and international laws, regulations, policies, and ethics as they relate to cybersecurity. |
Knowledge |
1158 | * Knowledge of cybersecurity principles. |
Knowledge |
1159 | * Knowledge of cyber threats and vulnerabilities. |
Knowledge |
6900 | * Knowledge of specific operational impacts of cybersecurity lapses. |
Knowledge |
6935 | * Knowledge of cloud computing service models Software as a Service (SaaS), Infrastructure as a Service (IaaS), and Platform as a Service (PaaS). |
Knowledge |
6938 | * Knowledge of cloud computing deployment models in private, public, and hybrid environment and the difference between on-premises and off-premises environments. |
Knowledge |
Additional KSATs
KSAT ID | Description | KSAT |
---|---|---|
23 | Knowledge of computer programming principles such as object-oriented design. |
Knowledge |
27 | Knowledge of cryptography and cryptographic key management concepts. |
Knowledge |
40 | Knowledge of organization’s evaluation and validation requirements. |
Knowledge |
56 | Knowledge of cybersecurity principles and methods that apply to software development. |
Knowledge |
63 | Knowledge of cybersecurity principles and organizational requirements (relevant to confidentiality, integrity, availability, authentication, non-repudiation). |
Knowledge |
74 | Knowledge of low-level computer languages (e.g., assembly languages). |
Knowledge |
95A | Knowledge of penetration testing principles, tools, and techniques. |
Knowledge |
102 | Knowledge of programming language structures and logic. |
Knowledge |
116 | Knowledge of software debugging principles. |
Knowledge |
118 | Knowledge of software development models (e.g., Waterfall Model, Spiral Model). |
Knowledge |
119 | Knowledge of software engineering. |
Knowledge |
168 | Skill in conducting software debugging. |
Skill |
185A | Skill in developing applications that can log and handle errors, exceptions, and application faults and logging. |
Skill |
278 | Knowledge of different types of network communication (e.g., LAN, WAN, MAN, WLAN, WWAN). |
Knowledge |
320A | Knowledge of external organizations and academic institutions with cyber focus (e.g., cyber curriculum/training and Research & Development). |
Knowledge |
408 | Analyze information to determine, recommend, and plan the development of a new application or modification of an existing application. |
Task |
414 | Analyze user needs and software requirements to determine feasibility of design within time and cost constraints. |
Task |
417 | Apply coding and testing standards, apply security testing tools including “‘fuzzing” static-analysis code scanning tools, and conduct code reviews. |
Task |
506 | Design, develop, and modify software systems, using scientific analysis and mathematical models to predict and measure outcome and consequences of design. |
Task |
515A | Develop software system testing and validation procedures, programming, and documentation. |
Task |
538 | Develop new or identify existing awareness and training materials that are appropriate for intended audiences. |
Task |
543 | Develop secure code and error handling. |
Task |
630 | Identify and direct the remediation of technical problems encountered during testing and implementation of new systems (e.g., identify and find work-arounds for communication protocols that are not interoperable). |
Task |
645 | Identify security issues around steady state operation and management of software and incorporate security measures that must be taken when a product reaches its end of life. |
Task |
709A | Modify and maintain existing software to correct errors, to adapt it to new hardware, or to upgrade interfaces and improve performance. |
Task |
756 | Perform integrated quality assurance testing for security functionality and resiliency attack. |
Task |
764 | Perform secure programming and identify potential flaws in codes to mitigate vulnerabilities. |
Task |
770 | Perform risk analysis (e.g., threat, vulnerability, and probability of occurrence) whenever an application or system undergoes a major change. |
Task |
785 | Prepare detailed workflow charts and diagrams that describe input, output, and logical operation, and convert them into a series of instructions coded in a computer language. |
Task |
826 | Address security implications in the software acceptance phase including completion criteria, risk acceptance and documentation, common criteria, and methods of independent testing. |
Task |
865 | Translate security requirements into application design elements including documenting the elements of the software attack surfaces, conducting threat modeling, and defining any specific security criteria. |
Task |
904 | Knowledge of interpreted and compiled computer languages. |
Knowledge |
905 | Knowledge of secure coding techniques. |
Knowledge |
970A | Apply cybersecurity functions (e.g., encryption, access control, and identity management) to reduce exploitation opportunities. |
Task |
971 | Design countermeasures and mitigations against potential exploitations of programming language weaknesses and vulnerabilities in system and elements. |
Task |
973A | Skill in using code analysis tools. |
Skill |
978A | Knowledge of root cause analysis techniques. |
Knowledge |
979 | Knowledge of supply chain risk management standards, processes, and practices. |
Knowledge |
980A | Skill in performing root cause analysis. |
Skill |
1020A | Skill in secure test plan design (e. g. unit, integration, system, acceptance). |
Skill |
1036 | Knowledge of applicable laws (e.g., Electronic Communications Privacy Act, Foreign Intelligence Surveillance Act, Protect America Act, search and seizure laws, civil liberties and privacy laws), statutes (e.g., in Titles 10, 18, 32, 50 in U.S. Code), Presidential Directives, executive branch guidelines, and/or administrative/criminal legal guidelines and procedures relevant to work performed. |
Knowledge |
1056 | Knowledge of operations security. |
Knowledge |
1062 | Knowledge of software reverse engineering techniques. |
Knowledge |
1071A | Ability to develop secure software according to secure software deployment methodologies, tools, and practices. |
Ability |
1076 | Collaborate with stakeholders to identify and/or develop appropriate solutions technology. |
Task |
1140A | Skill in using Public-Key Infrastructure (PKI) encryption and digital signature capabilities into applications (e.g., S/MIME email, SSL traffic). |
Skill |
1149A | Enable applications with public keying by leveraging existing public key infrastructure (PKI) libraries and incorporating certificate management and encryption functionalities when appropriate. |
Task |
1151 | Identify and leverage the enterprise-wide version control system while designing and developing secure applications. |
Task |
2335 | Direct software programming and development of documentation. |
Task |
2417 | Facilitate the sharing of ābest practicesā and ālessons learnedā throughout the cyber operations community. |
Task |
2561 | Maintain situational awareness of cyber-related intelligence requirements and associated tasking. |
Task |
3022 | Ability to communicate complex information, concepts, or ideas in a confident and well-organized manner through verbal, written, and/or visual means. |
Ability |
3140 | Knowledge of basic programming concepts (e.g., levels, structures, compiled vs. interpreted languages). |
Knowledge |
3146 | Knowledge of both internal and external customers and partner organizations, including information needs, objectives, structure, capabilities, etc. |
Knowledge |
3441 | Knowledge of physical and logical network devices and infrastructure to include hubs, switches, routers, firewalls, etc. |
Knowledge |
3622 | Knowledge of organizational and partner authorities, responsibilities, and contributions to achieving objectives. |
Knowledge |
4333 | Ability to program in at least one assembly languages. |
Ability |
4366 | Ability to use common networking protocols. |
Ability |
4368 | Ability to use data structures. |
Ability |
4372 | Ability to use reference documentation for C, Python, assembly, and other international technical standards and specifications (IEEE, ISO, IETF, etc.). |
Ability |
4382 | Ability to analyze, modify, develop, debug and document software and applications in C programming language. |
Ability |
4383 | Ability to analyze, modify, develop, debug and document software and applications in Python programming language. |
Ability |
4384 | Ability to analyze, modify, develop, debug and document software and applications utilizing standard, non-standard, specialized, serialization and/or unique network communication protocols. |
Ability |
4385 | Ability to interpret customer requirements and evaluate resource and system constraints to create solution design specifications. |
Ability |
4424 | Knowledge of cyber adversary threat tier taxonomy (2014 National Intelligence Estimate [NIE]), DIA/NSA Standard Cyber Threat Model, etc.). |
Knowledge |
4426 | Knowledge of cyber mission force equipment taxonomy (Platform-Access-Payloads/Toolset), capability development process and repository. |
Knowledge |
4433 | Knowledge of data serialization formats (e.g. XML, JSON, etc.). |
Knowledge |
4441 | Knowledge of embedded systems |
Knowledge |
4497 | Knowledge of modern software development methodologies (e.g. Continuous Integration (CI), Continuous Delivery (CD), Test Driven Development (TDD), etc.). |
Knowledge |
4517 | Knowledge of principles, methodologies, and tools used to improve quality of software (e.g. regression testing, test coverage, code review, pair programming, etc.). |
Knowledge |
4527 | Knowledge of relevant mission processes including version control processes, release processes, documentation requirements, and testing requirements. |
Knowledge |
4534 | Knowledge of sources and locations (public and classified) of capability development TTPs and tradecraft information/intelligence used by the US Gov and others. |
Knowledge |
4535 | Knowledge of sources and locations of cyber capability registries and repositories (e.g. Joint Cyber Tactics Manual (JCTM), Cyber Capability Registry (CCR), Agency and service repositories, etc.). |
Knowledge |
4546 | Knowledge of task and project management tools used for software development (e.g. Jira, Confluence, Trac, MediaWiki, etc.). |
Knowledge |
4548 | Knowledge of terms and concepts of operating system fundamentals (e.g. virtualization, paging, file systems, I/O, memory management, process abstraction, etc.). |
Knowledge of terms and concepts of operating system fundamentals (e.g. virtualization, paging, file systems, I/O, memory management, process abstraction, etc.). |
4554 | Knowledge of the concepts and terminology of datastructures and associated algorithms (e.g., search, sort, traverse, insert, delete). |
Knowledge |
4580 | Knowledge of the supported organizationās approval process for operational use of a capability. |
Knowledge |
4584 | Knowledge of the use and application of static and dynamic program analysis. |
Knowledge |
4598 | Knowledge of your organizations project management, timeline estimation, and software engineering philosophy (e.g. CI/CD, TDD, etc.). |
Knowledge |
4611 | Skill in conducting āopen sourceā research. |
Skill |
4684 | Knowledge of techniques to harden capabilities to prevent attacks and forensics. |
KSA |
6780 | Utilize different programming languages to write code, open files, read files, and write output to different files. |
Task |
8002 | Analyze and document applications using assembly languages. |
Task |
8003 | Analyze countermeasures and mitigations against potential exploitations of programming language weaknesses and vulnerabilities in system and elements. |
Task |
8006 | Analyze, modify, develop, debug, and document software and applications using assembly languages. |
Task |
8007 | Analyze, modify, develop, debug, and document software and applications utilizing standard, non-standard, specialized, and/or unique communication protocols. |
Task |
8008 | Analyze, modify, develop, debug, and document software and applications which run in kernel space. |
Task |
8009 | Analyze, modify, develop, debug, and document software and applications which run in user space. |
Task |
8012 | Apply cryptography primitives to protect the confidentiality and integrity of sensitive data. |
Task |
8014 | Apply software engineering best practices to enable sustainability and extensibility (Agile, TDD, CI/CD, etc.) to include containerization and virtualization technologies. |
Task |
8016 | Architect design documents that describe input, output, and logical operation. |
Task |
8032 | Conduct hardware and/or software static and dynamic analysis to reverse engineer malicious or benign systems. |
Task |
8049 | Create or enhance cyberspace capabilities to compromise, deny, degrade, disrupt, destroy, or manipulate automated information systems. |
Task |
8050 | Create or enhance cyberspace solutions to enable surveillance and reconnaissance of automated information systems. |
Task |
8054 | Describe the most likely cause of an error and recommend a list of possible solutions given the description of error or system crash. |
Task |
8055 | Design and develop data storage requirements, database structure, process flow, systematic procedures, algorithms, data analysis, and file structures. |
Task |
8056 | Design and develop user interfaces (e.g. web pages, GUIs, CLIs, Console Interfaces) |
Task |
8057 | Design and direct software development efforts to detect and disrupt nation-state cyber threat actors. |
Task |
8068 | Develop content for cyber capabilities. |
Task |
8076 | Develop, modify, and utilize automation technologies to enable employment of capabilities as efficiently as possible (e.g. TDD, CI/CD, etc.) |
Task |
8080 | Document and communicate tradecraft, best practices, TTPs, training, briefings, presentations, papers, studies, lessons learned, etc. to both technical and non-technical audiences. |
Task |
8092 | Enhance capability design strategies and tactics by synthesizing information, processes, and techniques in the areas of malicious software, vulnerabilities, reverse engineering, secure software engineering, and exploitation. |
Task |
8095 | Enter work into Task and project management tools used for software development (e.g. Jira, Confluence, Trac, MediaWiki, etc.) |
Task |
8106 | Generate proper supporting documentation of cyber capability. |
Task |
8118 | Implement project management, software engineering philosophies, modern capability development methodologies (Agile, TDD, CI/CD, etc), at the team level. |
Task |
8129 | Locate and utilize technical specifications and industry standards (e.g. Internet Engineering Task Force (IETF), IEEE, IEC, International Standards Organization (ISO)). |
Task |
8135 | Make use of compiler attributes and platform-specific features. |
Task |
8144 | Perform code review and analysis to inform OPSEC analysis and application (attribution, sanitization, etc.) |
Task |
8150 | Perform requirements analysis to identify workable tasks needed to organize collaborative software and documentation development. |
Task |
8152 | Perform static and dynamic analysis in order to find errors and flaws. |
Task |
8156 | Produce artifacts to inform risk analysis, acceptance testing, and legal review. |
Task |
8186 | Reference capability repositories and other sources to identify existing capabilities which fully/partially meet customer requirements (with or without modification). |
Task |
8207 | Utilize data structures to organize, sort, and manipulate elements of information |
Task |
8210 | Utilize secure coding techniques during development of software and applications |
Task |
8211 | Utilize tools to decompile, disassembe, analzye, and reverse engineer compiled binaries. |
Task |