La nostra azienda sviluppa applicazioni desktop Windows. Offriamo soluzioni off-the-shelf - non lo sviluppo personalizzato. Un potenziale nuovo cliente desidera aggiungere una sezione al nostro contratto standard che ci impone di utilizzare uno strumento di "Scansione delle applicazioni". In particolare menzionano l'AppScan di IBM. Tuttavia, sembra che lo strumento sia per le applicazioni Web, non per le applicazioni desktop.
Le nostre applicazioni sono sviluppate usando Delphi (da Embarcadero precedentemente Borland molto tempo fa). Siamo un piccolo negozio per sviluppatori. Mentre riesco a capire perché un cliente vorrebbe qualcosa di simile in un contratto, non sono sicuro di come riuscirò davvero a farlo.
Ci sono altri "strumenti standard del settore" come sembra indicare la lingua del loro contratto?
Sta diventando pratica comune tra gli ISV?
Esistono linee guida per gli ISV per conformarsi a questo tipo di requisiti di revisione della sicurezza? So che ci sono un certo numero di siti per pratiche di codifica sicure (verificare input dell'utente, buffer overflow, SQL injection, ecc.) Ma non ho mai visto nulla che discuti mettendo insieme una recensione di sicurezza che possa convincere un utente finale che il programmatore ha fatto lavoro correttamente.
Ecco cosa vogliono aggiungere al contratto:
x.x Software Security Review And Testing. A security scanning process will be performed on the application components for each production release of the Software licensed by Licensee pursuant to this Agreement prior to making available a major release of such components. Such security scanning will be performed by Licensor using IBM’s AppScan application scanning tool or an alternative, industry standard tool (“Application Scanning”). Vendor will also perform manual penetration testing (“Penetration Testing”) for each major release of the core product(s). Vendor will conduct Application Scanning on each application component as set forth in the applicable Schedule under the Agreement a minimum of one (1) time per year. Vendor will provide to and review with Licensee a report of the results of Vendor’s most recent Application Scanning and Penetration Testing for the AgWare Software.
L'applicazione stessa è un'applicazione Windows standard. Può connettersi a un database di Access o a un database di SQL Server per l'archiviazione dei dati. Gli utenti preoccupati per la sicurezza utilizzeranno ovviamente SQL Server. Non esiste un livello intermedio: mi collego direttamente dall'applicazione a SQL Server. La connessione viene effettuata utilizzando una connessione affidabile e l'accesso ai dati avviene tramite stored procedure.
Riesco a capire che è in esecuzione un qualche tipo di scanner di sicurezza nel database SQL. cioè qualcosa che verificherebbe che un tavolo non è stato lasciato con accesso aperto. È interessante notare che il database non è stato trattato nel contratto.
Probabilmente posso stampare il problema e dire che AppScan non può essere eseguito su applicazioni desktop e indurlo a rimuovere la sezione dal contratto. Vedendolo però mi ha fatto domandare se qualche sviluppatore di applicazioni desktop stia eseguendo alcun tipo di scanner sul proprio software.