In my experience of creating these surfaces it within the company, it not so much a question of drawing but rather a data modelling and calculation problem. It can be accomplished in a database connected to something like QGIS. The database would normally need to be spatially enabled such as Postgres or Oracle spatial.
The mathematics for this can get complicated especially when multiple runways are involved. There are several companies who can provide the calculations for this. Some as APIs and others as complete suites.
Adding some visuals, this was done in QGIS entirely including the analysis similar to the above workflow and loaded in Google Earth Pro later along the line for 3D visualization as a KML
All the areas were drawn to specification using shapefiles (other formats may also be used like geopackage), the obstacles loaded up as CSV and analysis done spatially. I think the complicated part people have issues with is getting the shortest distance from the obstacle to the surfaces but usually GIS tools have options to get this quickly without manual calculations, it does require a bit of GIS knowledge and that's why many prefer to buy specialized tools that do all the handwork for you but of course it method has its pro and cons.
So just to show it is entirely possible to do it
In principle why not, this is what a GIS is for to perform spatial analysis. Annex 14 deals with the obstacle surfaces and safeguarding so you would draw the surfaces based on the parameters you are given and model it. There are many ways to do this from doing 2D drawing and perform the analysis with calculations or 3D models and doing more complex spatial analysis.
Whatever method you choose should allow you to perform adequate calculations and output that then you can provide as part of the products and services as required by Annex 15.
The algorithm would look something like this.
Surface - Inner horizontal
Draw the surface according to the airport/runway characteristics
Select all terrain within the surface and analyse if it penetrates or not
Select all survey-obstacles and analyse if it penetrates or not
Provide a terrain and survey-obstacle report for the surface
Create the surface report